From 8b2afbfe3c0c8022fb9b4495ffe5c968d296896e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:53:59 -0700 Subject: [PATCH 0001/2079] feat: add SVG_SPEC.md --- SVG_SPEC.md | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 SVG_SPEC.md diff --git a/SVG_SPEC.md b/SVG_SPEC.md new file mode 100644 index 00000000..f4b9ee65 --- /dev/null +++ b/SVG_SPEC.md @@ -0,0 +1,123 @@ +# RoboJS SVG Spec — Bit Allocation + +## Overview + +128 bits from MD5 hash → deterministic robot avatar rendered as SVG. + +Single color scheme per robot. SVG templates with fill/outline/highlight driven by hash bits. + +## Bit Allocation (128 bits total) + +### Color Scheme (16 bits) +| Bits | Field | Range | Description | +|------|-------|-------|-------------| +| 0-7 | `hue` | 0-255 | Base hue (mapped to 0-360°) | +| 8-11 | `saturation` | 0-15 | Saturation modifier (60-100%) | +| 12-15 | `lightness` | 0-15 | Lightness modifier (40-65%) | + +**Derived colors (computed, not stored):** +- **Fill:** `hsl(hue, sat%, light%)` +- **Outline:** same hue, 15% saturation, 20% lightness (dark, nearly black-brown) +- **Highlight:** same hue, sat-10%, light+20% (lighter accent) +- **Accent color** (eyes, teeth, details): see bits 80-95 + +### Part Selection — v1 (20 bits, 10 variations each) +| Bits | Field | Range | Description | +|------|-------|-------|-------------| +| 16-19 | `headShape` | 0-9 | Head template (10 shapes) | +| 20-23 | `bodyShape` | 0-9 | Body template | +| 24-27 | `eyeShape` | 0-9 | Eye template | +| 28-31 | `mouthShape` | 0-9 | Mouth template | +| 32-35 | `accessoryShape` | 0-9 | Accessory template | + +### Part Selection — v2 expansion (use full 4 bits = 16 variations) +Same bit positions, but `0-15` range when we have 16 templates per part. + +### Accent / Secondary Color (16 bits) +| Bits | Field | Range | Description | +|------|-------|-------|-------------| +| 80-87 | `accentHue` | 0-255 | Accent hue (eyes, teeth, antenna tips) | +| 88-91 | `accentSat` | 0-15 | Accent saturation | +| 92-95 | `accentLight` | 0-15 | Accent lightness (biased brighter: 55-85%) | + +### Surface Details (20 bits) +| Bits | Field | Range | Description | +|------|-------|-------|-------------| +| 36-39 | `rivetStyle` | 0-15 | Rivet/bolt pattern on head | +| 40-43 | `panelLines` | 0-15 | Panel line pattern on body | +| 44-47 | `eyeSize` | 0-15 | Eye scale modifier (80-120%) | +| 48-51 | `mouthWidth` | 0-15 | Mouth scale modifier | +| 52-55 | `accPlacement` | 0-15 | Accessory position offset | + +### Transforms (16 bits) +| Bits | Field | Range | Description | +|------|-------|-------|-------------| +| 56-59 | `headTilt` | 0-15 | Slight head rotation (-8° to +7°) | +| 60-63 | `eyeAsymmetry` | 0-15 | Left/right eye size difference | +| 64-67 | `bodyWidth` | 0-15 | Body scale X (90-110%) | +| 68-71 | `accRotation` | 0-15 | Accessory rotation | + +### Reserved (24 bits) +| Bits | Field | Description | +|------|-------|-------------| +| 72-79 | `reserved1` | Future use (antenna style? background?) | +| 96-103 | `reserved2` | Future use | +| 104-111 | `reserved3` | Future use | +| 112-119 | `reserved4` | Future use | +| 120-127 | `reserved5` | Future use | + +## SVG Template Structure + +Each part is an SVG `` element with CSS classes: + +```svg + + + + + + +``` + +At render time, CSS variables inject colors: +```css +:root { + --fill: hsl(120, 80%, 50%); + --outline: hsl(120, 15%, 20%); + --highlight: hsl(120, 70%, 70%); + --accent: hsl(45, 90%, 65%); +} +.fill { fill: var(--fill); } +.outline { fill: var(--outline); stroke: var(--outline); } +.highlight { fill: var(--highlight); } +.accent { fill: var(--accent); } +``` + +## Rendering Pipeline + +1. Hash input string → MD5 (128 bits) +2. Extract bit fields per allocation table +3. Compute color scheme from hue/sat/light bits +4. Select part templates from shape bits +5. Apply transforms (tilt, scale, asymmetry) +6. Compose SVG: body → head → mouth → eyes → accessory (back to front) +7. Inject CSS color variables +8. Output as SVG string or render to canvas via `` or inline SVG + +## Backward Compatibility + +v1 maintains same part selection as current sprite sheet (10 variations per part). +`getBuckets()` output can map to v1 SVG parts for visual parity. + +## File Structure + +``` +svg/ + parts/ + heads/ # head-0.svg through head-9.svg (v1) or head-15.svg (v2) + bodies/ + eyes/ + mouths/ + accessories/ + render.js # SVG composition + color injection +``` From 36ce61817308911e9c7c1352bf0172b51723000d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:53:59 -0700 Subject: [PATCH 0002/2079] feat: add src/svg-render.js --- src/svg-render.js | 96 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 src/svg-render.js diff --git a/src/svg-render.js b/src/svg-render.js new file mode 100644 index 00000000..688676e6 --- /dev/null +++ b/src/svg-render.js @@ -0,0 +1,96 @@ +/** + * RoboJS SVG Renderer + * Composes robot avatars from SVG part templates with hash-driven colors + * + * @module svg-render + */ + +/** + * Color palette mapping bucket index (0-9) to hue degrees + * Matches the sprite sheet color groups + */ +const COLOR_HUES = [200, 180, 270, 0, 190, 30, 45, 120, 220, 25]; + +/** + * Derive a full color scheme from a hue value + * @param {number} hue - Hue in degrees (0-360) + * @returns {object} Color scheme with fill, outline, highlight, shadow + */ +function colorScheme(hue) { + return { + fill: `hsl(${hue}, 70%, 50%)`, + outline: `hsl(${hue}, 15%, 20%)`, + highlight: `hsl(${hue}, 60%, 70%)`, + shadow: `hsl(${hue}, 70%, 35%)`, + neck: `hsl(0, 0%, 55%)`, + neckStroke: `hsl(0, 0%, 35%)`, + }; +} + +/** + * Generate CSS style block for SVG coloring + * @param {number} mainHue - Main body/head hue + * @param {number} accentHue - Accent color hue (eyes, teeth) + * @returns {string} CSS style element + */ +function generateStyles(mainHue, accentHue) { + const c = colorScheme(mainHue); + return ``; +} + +/** + * Extract inner SVG content from a part template string + * @param {string} svgString - Full SVG file content + * @returns {string} Inner group content + */ +function extractContent(svgString) { + const match = svgString.match(/]*>([\s\S]*?)<\/g>/); + return match ? match[1] : svgString; +} + +/** + * Compose a complete robot SVG from part templates and bucket values + * + * @param {object} parts - Object with SVG content strings: { head, body, eyes, mouth, accessory } + * @param {number[]} buckets - 8 bucket values from getBuckets() + * @returns {string} Complete SVG string + */ +export function composeSvg(parts, buckets) { + const [bodyStyle, headStyle, eyeStyle, mouthStyle, accStyle, bhColor, emColor, accColor] = buckets; + + const mainHue = COLOR_HUES[bhColor] || 120; + const accentHue = COLOR_HUES[emColor] || 45; + const styles = generateStyles(mainHue, accentHue); + + const headContent = extractContent(parts.head); + const bodyContent = extractContent(parts.body); + const eyeContent = extractContent(parts.eyes); + const mouthContent = extractContent(parts.mouth); + const accContent = extractContent(parts.accessory); + + return ` + ${styles} + + ${bodyContent} + ${headContent} + ${mouthContent} + ${eyeContent} + ${accContent} + +`; +} + +/** + * Color hues exported for external use + */ +export { COLOR_HUES, colorScheme, generateStyles, extractContent }; From 41955c29d79351fb8ef3255b49d83da4711bd365 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:00 -0700 Subject: [PATCH 0003/2079] feat: add svg/preview.html --- svg/preview.html | 272 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 272 insertions(+) create mode 100644 svg/preview.html diff --git a/svg/preview.html b/svg/preview.html new file mode 100644 index 00000000..cef656e8 --- /dev/null +++ b/svg/preview.html @@ -0,0 +1,272 @@ + + + + +RoboJS SVG Preview + + + + +

🤖 RoboJS SVG Preview

+

Deterministic robot avatars — 2^128 unique combinations

+ +
+
+
+ +
+ + +
+ +
+ +

Gallery — Team Robots

+ + +

Color Palette (10 hues from sprite sheet)

+
+ +

Parts Library

+
+ + + + From 43be515e9b081b450b266614e6a6205f0c442abf Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:00 -0700 Subject: [PATCH 0004/2079] feat: add svg/parts/heads/head-0.svg --- svg/parts/heads/head-0.svg | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 svg/parts/heads/head-0.svg diff --git a/svg/parts/heads/head-0.svg b/svg/parts/heads/head-0.svg new file mode 100644 index 00000000..e445093b --- /dev/null +++ b/svg/parts/heads/head-0.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + From 9e45c35000eae8cb268d8bd0efa22fc135448dc9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:01 -0700 Subject: [PATCH 0005/2079] feat: add svg/parts/heads/head-1.svg --- svg/parts/heads/head-1.svg | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 svg/parts/heads/head-1.svg diff --git a/svg/parts/heads/head-1.svg b/svg/parts/heads/head-1.svg new file mode 100644 index 00000000..92476be4 --- /dev/null +++ b/svg/parts/heads/head-1.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + From cd0c36926b20bcff4c0764ac341cd8d1a8d5a67f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:01 -0700 Subject: [PATCH 0006/2079] feat: add svg/parts/heads/head-2.svg --- svg/parts/heads/head-2.svg | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 svg/parts/heads/head-2.svg diff --git a/svg/parts/heads/head-2.svg b/svg/parts/heads/head-2.svg new file mode 100644 index 00000000..8fb08022 --- /dev/null +++ b/svg/parts/heads/head-2.svg @@ -0,0 +1,27 @@ + + + + + + + + + From 3d911c49cb42c47be86c0bef9661c7b9af5c15d9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:01 -0700 Subject: [PATCH 0007/2079] feat: add svg/parts/heads/head-3.svg --- svg/parts/heads/head-3.svg | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 svg/parts/heads/head-3.svg diff --git a/svg/parts/heads/head-3.svg b/svg/parts/heads/head-3.svg new file mode 100644 index 00000000..b42754ea --- /dev/null +++ b/svg/parts/heads/head-3.svg @@ -0,0 +1,31 @@ + + + + + + + + + From 88f6a7c822591d3863fb93b610c8148a14b47f27 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:02 -0700 Subject: [PATCH 0008/2079] feat: add svg/parts/heads/head-4.svg --- svg/parts/heads/head-4.svg | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 svg/parts/heads/head-4.svg diff --git a/svg/parts/heads/head-4.svg b/svg/parts/heads/head-4.svg new file mode 100644 index 00000000..4c3c27f6 --- /dev/null +++ b/svg/parts/heads/head-4.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + From 428ed847a829951521a4e6f328a38b4783e2f8a8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:02 -0700 Subject: [PATCH 0009/2079] feat: add svg/parts/heads/head-5.svg --- svg/parts/heads/head-5.svg | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 svg/parts/heads/head-5.svg diff --git a/svg/parts/heads/head-5.svg b/svg/parts/heads/head-5.svg new file mode 100644 index 00000000..54fa969e --- /dev/null +++ b/svg/parts/heads/head-5.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + From 2fa8f6d0a864b2a4e6bc87f97ccbcfd711aa6633 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:03 -0700 Subject: [PATCH 0010/2079] feat: add svg/parts/heads/head-6.svg --- svg/parts/heads/head-6.svg | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 svg/parts/heads/head-6.svg diff --git a/svg/parts/heads/head-6.svg b/svg/parts/heads/head-6.svg new file mode 100644 index 00000000..c9df80d4 --- /dev/null +++ b/svg/parts/heads/head-6.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + From 573a5cf1c46291f9351f705cf902c295aaf15efe Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:03 -0700 Subject: [PATCH 0011/2079] feat: add svg/parts/heads/head-7.svg --- svg/parts/heads/head-7.svg | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 svg/parts/heads/head-7.svg diff --git a/svg/parts/heads/head-7.svg b/svg/parts/heads/head-7.svg new file mode 100644 index 00000000..57cba42e --- /dev/null +++ b/svg/parts/heads/head-7.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + From af2208730a4706d7c7e312e2cf2f322175cfb657 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:04 -0700 Subject: [PATCH 0012/2079] feat: add svg/parts/heads/head-8.svg --- svg/parts/heads/head-8.svg | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 svg/parts/heads/head-8.svg diff --git a/svg/parts/heads/head-8.svg b/svg/parts/heads/head-8.svg new file mode 100644 index 00000000..1816fa7e --- /dev/null +++ b/svg/parts/heads/head-8.svg @@ -0,0 +1,9 @@ + + + + + + + + + From 0b5130d1703135bc10f2674b0e57f24b33d0468f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:04 -0700 Subject: [PATCH 0013/2079] feat: add svg/parts/heads/head-9.svg --- svg/parts/heads/head-9.svg | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 svg/parts/heads/head-9.svg diff --git a/svg/parts/heads/head-9.svg b/svg/parts/heads/head-9.svg new file mode 100644 index 00000000..0dc2c944 --- /dev/null +++ b/svg/parts/heads/head-9.svg @@ -0,0 +1,29 @@ + + + + + + + + + From 52c9d40bf7ce65d3f91dbab960855eaa7cd0b7b6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:05 -0700 Subject: [PATCH 0014/2079] feat: add svg/parts/bodies/body-0.svg --- svg/parts/bodies/body-0.svg | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 svg/parts/bodies/body-0.svg diff --git a/svg/parts/bodies/body-0.svg b/svg/parts/bodies/body-0.svg new file mode 100644 index 00000000..c073e55c --- /dev/null +++ b/svg/parts/bodies/body-0.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file From 397397a3bfc014340d5e2aa221e2f13240249ba5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:05 -0700 Subject: [PATCH 0015/2079] feat: add svg/parts/bodies/body-1.svg --- svg/parts/bodies/body-1.svg | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 svg/parts/bodies/body-1.svg diff --git a/svg/parts/bodies/body-1.svg b/svg/parts/bodies/body-1.svg new file mode 100644 index 00000000..e28ef74d --- /dev/null +++ b/svg/parts/bodies/body-1.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From c719dccd134b390a34cd67f6d181a2a84759ea05 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:06 -0700 Subject: [PATCH 0016/2079] feat: add svg/parts/bodies/body-2.svg --- svg/parts/bodies/body-2.svg | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 svg/parts/bodies/body-2.svg diff --git a/svg/parts/bodies/body-2.svg b/svg/parts/bodies/body-2.svg new file mode 100644 index 00000000..cfacebf3 --- /dev/null +++ b/svg/parts/bodies/body-2.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file From af92001a8e67a6538b58920bb018834cdfc38150 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:06 -0700 Subject: [PATCH 0017/2079] feat: add svg/parts/bodies/body-3.svg --- svg/parts/bodies/body-3.svg | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 svg/parts/bodies/body-3.svg diff --git a/svg/parts/bodies/body-3.svg b/svg/parts/bodies/body-3.svg new file mode 100644 index 00000000..6232c7fc --- /dev/null +++ b/svg/parts/bodies/body-3.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file From e70ffc2afd575f0da9f9b8ab5aaefe9b980d5e16 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:07 -0700 Subject: [PATCH 0018/2079] feat: add svg/parts/bodies/body-4.svg --- svg/parts/bodies/body-4.svg | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 svg/parts/bodies/body-4.svg diff --git a/svg/parts/bodies/body-4.svg b/svg/parts/bodies/body-4.svg new file mode 100644 index 00000000..46f8b443 --- /dev/null +++ b/svg/parts/bodies/body-4.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From d5f9427db4efad939510a20528b09597520094d7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:07 -0700 Subject: [PATCH 0019/2079] feat: add svg/parts/bodies/body-5.svg --- svg/parts/bodies/body-5.svg | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 svg/parts/bodies/body-5.svg diff --git a/svg/parts/bodies/body-5.svg b/svg/parts/bodies/body-5.svg new file mode 100644 index 00000000..35c95fa4 --- /dev/null +++ b/svg/parts/bodies/body-5.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file From a1700bdcb6d57087b60339d746c6a15566f9eb37 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:07 -0700 Subject: [PATCH 0020/2079] feat: add svg/parts/bodies/body-6.svg --- svg/parts/bodies/body-6.svg | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 svg/parts/bodies/body-6.svg diff --git a/svg/parts/bodies/body-6.svg b/svg/parts/bodies/body-6.svg new file mode 100644 index 00000000..1e9414ab --- /dev/null +++ b/svg/parts/bodies/body-6.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From 66cfae3b35ad1251b115e2b4d2e048a84e3456c8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:08 -0700 Subject: [PATCH 0021/2079] feat: add svg/parts/bodies/body-7.svg --- svg/parts/bodies/body-7.svg | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 svg/parts/bodies/body-7.svg diff --git a/svg/parts/bodies/body-7.svg b/svg/parts/bodies/body-7.svg new file mode 100644 index 00000000..9352f698 --- /dev/null +++ b/svg/parts/bodies/body-7.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file From ccf291089b5f236a3d58c8686181afe99708c028 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:08 -0700 Subject: [PATCH 0022/2079] feat: add svg/parts/bodies/body-8.svg --- svg/parts/bodies/body-8.svg | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 svg/parts/bodies/body-8.svg diff --git a/svg/parts/bodies/body-8.svg b/svg/parts/bodies/body-8.svg new file mode 100644 index 00000000..bff67407 --- /dev/null +++ b/svg/parts/bodies/body-8.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From fa990584ea62e714033eecef6ff3efd1abe75b04 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:09 -0700 Subject: [PATCH 0023/2079] feat: add svg/parts/bodies/body-9.svg --- svg/parts/bodies/body-9.svg | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 svg/parts/bodies/body-9.svg diff --git a/svg/parts/bodies/body-9.svg b/svg/parts/bodies/body-9.svg new file mode 100644 index 00000000..36e664dd --- /dev/null +++ b/svg/parts/bodies/body-9.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file From 48c34a0e441d9a9a767eba8607aa9e47d4c773d6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:09 -0700 Subject: [PATCH 0024/2079] feat: add svg/parts/eyes/eye-0.svg --- svg/parts/eyes/eye-0.svg | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 svg/parts/eyes/eye-0.svg diff --git a/svg/parts/eyes/eye-0.svg b/svg/parts/eyes/eye-0.svg new file mode 100644 index 00000000..5fed1ace --- /dev/null +++ b/svg/parts/eyes/eye-0.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From 498e9f3b1ed3f00b8a22b011fa3a13e429a74bd9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:10 -0700 Subject: [PATCH 0025/2079] feat: add svg/parts/eyes/eye-1.svg --- svg/parts/eyes/eye-1.svg | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 svg/parts/eyes/eye-1.svg diff --git a/svg/parts/eyes/eye-1.svg b/svg/parts/eyes/eye-1.svg new file mode 100644 index 00000000..a27a08f0 --- /dev/null +++ b/svg/parts/eyes/eye-1.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From cbe1bf0a7be6253ab454c0a85e2d8ec1fd7521f1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:10 -0700 Subject: [PATCH 0026/2079] feat: add svg/parts/eyes/eye-2.svg --- svg/parts/eyes/eye-2.svg | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 svg/parts/eyes/eye-2.svg diff --git a/svg/parts/eyes/eye-2.svg b/svg/parts/eyes/eye-2.svg new file mode 100644 index 00000000..69a44d84 --- /dev/null +++ b/svg/parts/eyes/eye-2.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From cdbb05c8f22bf27095d80c8b831a7b4ef9ce9691 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:11 -0700 Subject: [PATCH 0027/2079] feat: add svg/parts/eyes/eye-3.svg --- svg/parts/eyes/eye-3.svg | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 svg/parts/eyes/eye-3.svg diff --git a/svg/parts/eyes/eye-3.svg b/svg/parts/eyes/eye-3.svg new file mode 100644 index 00000000..38fb7a9b --- /dev/null +++ b/svg/parts/eyes/eye-3.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file From 775dd779553c8ede2f63e9aaafb4f11dd3744d48 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:11 -0700 Subject: [PATCH 0028/2079] feat: add svg/parts/eyes/eye-4.svg --- svg/parts/eyes/eye-4.svg | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 svg/parts/eyes/eye-4.svg diff --git a/svg/parts/eyes/eye-4.svg b/svg/parts/eyes/eye-4.svg new file mode 100644 index 00000000..6b3882f1 --- /dev/null +++ b/svg/parts/eyes/eye-4.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From d8700fb137d2e9dc42a3f89f3b3e4bc259df1864 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:11 -0700 Subject: [PATCH 0029/2079] feat: add svg/parts/eyes/eye-5.svg --- svg/parts/eyes/eye-5.svg | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 svg/parts/eyes/eye-5.svg diff --git a/svg/parts/eyes/eye-5.svg b/svg/parts/eyes/eye-5.svg new file mode 100644 index 00000000..f070de99 --- /dev/null +++ b/svg/parts/eyes/eye-5.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file From 80b88f51f8133a2e08a37621fd183902eacd1f5f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:12 -0700 Subject: [PATCH 0030/2079] feat: add svg/parts/eyes/eye-6.svg --- svg/parts/eyes/eye-6.svg | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 svg/parts/eyes/eye-6.svg diff --git a/svg/parts/eyes/eye-6.svg b/svg/parts/eyes/eye-6.svg new file mode 100644 index 00000000..dd0b01f7 --- /dev/null +++ b/svg/parts/eyes/eye-6.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file From 822885942abda40ca9ee2edd7891761f0899494f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:12 -0700 Subject: [PATCH 0031/2079] feat: add svg/parts/eyes/eye-7.svg --- svg/parts/eyes/eye-7.svg | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 svg/parts/eyes/eye-7.svg diff --git a/svg/parts/eyes/eye-7.svg b/svg/parts/eyes/eye-7.svg new file mode 100644 index 00000000..88f71e8d --- /dev/null +++ b/svg/parts/eyes/eye-7.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file From a806bc82a7438b296181a5e405610efba9805312 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:13 -0700 Subject: [PATCH 0032/2079] feat: add svg/parts/eyes/eye-8.svg --- svg/parts/eyes/eye-8.svg | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 svg/parts/eyes/eye-8.svg diff --git a/svg/parts/eyes/eye-8.svg b/svg/parts/eyes/eye-8.svg new file mode 100644 index 00000000..d9833773 --- /dev/null +++ b/svg/parts/eyes/eye-8.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From ab051f13e23f9b132bd8ff043a5770e32dd87ab6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:13 -0700 Subject: [PATCH 0033/2079] feat: add svg/parts/eyes/eye-9.svg --- svg/parts/eyes/eye-9.svg | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 svg/parts/eyes/eye-9.svg diff --git a/svg/parts/eyes/eye-9.svg b/svg/parts/eyes/eye-9.svg new file mode 100644 index 00000000..de764463 --- /dev/null +++ b/svg/parts/eyes/eye-9.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From 23c5b5905d657da3cbbc75b9676ac86b9b06f390 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:14 -0700 Subject: [PATCH 0034/2079] feat: add svg/parts/mouths/mouth-0.svg --- svg/parts/mouths/mouth-0.svg | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 svg/parts/mouths/mouth-0.svg diff --git a/svg/parts/mouths/mouth-0.svg b/svg/parts/mouths/mouth-0.svg new file mode 100644 index 00000000..2778a703 --- /dev/null +++ b/svg/parts/mouths/mouth-0.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file From 5b7978087cb472cc59a30e0ab10a2060a296034b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:15 -0700 Subject: [PATCH 0035/2079] feat: add svg/parts/mouths/mouth-1.svg --- svg/parts/mouths/mouth-1.svg | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 svg/parts/mouths/mouth-1.svg diff --git a/svg/parts/mouths/mouth-1.svg b/svg/parts/mouths/mouth-1.svg new file mode 100644 index 00000000..f2ad428c --- /dev/null +++ b/svg/parts/mouths/mouth-1.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file From 1a4f9c44a60ac0a625850452722de6db9ee3869e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:15 -0700 Subject: [PATCH 0036/2079] feat: add svg/parts/mouths/mouth-2.svg --- svg/parts/mouths/mouth-2.svg | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 svg/parts/mouths/mouth-2.svg diff --git a/svg/parts/mouths/mouth-2.svg b/svg/parts/mouths/mouth-2.svg new file mode 100644 index 00000000..1c0da808 --- /dev/null +++ b/svg/parts/mouths/mouth-2.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file From fc249a71ade78306705bdd27c86d7d9eab9ba022 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:15 -0700 Subject: [PATCH 0037/2079] feat: add svg/parts/mouths/mouth-3.svg --- svg/parts/mouths/mouth-3.svg | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 svg/parts/mouths/mouth-3.svg diff --git a/svg/parts/mouths/mouth-3.svg b/svg/parts/mouths/mouth-3.svg new file mode 100644 index 00000000..f189fbd9 --- /dev/null +++ b/svg/parts/mouths/mouth-3.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file From 2b940173a5e8708fc5c88e0b1068e29a2cfc7523 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:16 -0700 Subject: [PATCH 0038/2079] feat: add svg/parts/mouths/mouth-4.svg --- svg/parts/mouths/mouth-4.svg | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 svg/parts/mouths/mouth-4.svg diff --git a/svg/parts/mouths/mouth-4.svg b/svg/parts/mouths/mouth-4.svg new file mode 100644 index 00000000..cb6819d0 --- /dev/null +++ b/svg/parts/mouths/mouth-4.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file From 98f4f5c3190c29d38891e7182b34b26c299e39e5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:16 -0700 Subject: [PATCH 0039/2079] feat: add svg/parts/mouths/mouth-5.svg --- svg/parts/mouths/mouth-5.svg | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 svg/parts/mouths/mouth-5.svg diff --git a/svg/parts/mouths/mouth-5.svg b/svg/parts/mouths/mouth-5.svg new file mode 100644 index 00000000..346fd1c3 --- /dev/null +++ b/svg/parts/mouths/mouth-5.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file From fc646ff311cf5e0077c9681f43889a77f76095d7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:17 -0700 Subject: [PATCH 0040/2079] feat: add svg/parts/mouths/mouth-6.svg --- svg/parts/mouths/mouth-6.svg | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 svg/parts/mouths/mouth-6.svg diff --git a/svg/parts/mouths/mouth-6.svg b/svg/parts/mouths/mouth-6.svg new file mode 100644 index 00000000..b19797d6 --- /dev/null +++ b/svg/parts/mouths/mouth-6.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file From fcf79eebfa265182645a88bb4509a15184b2b7aa Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:17 -0700 Subject: [PATCH 0041/2079] feat: add svg/parts/mouths/mouth-7.svg --- svg/parts/mouths/mouth-7.svg | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 svg/parts/mouths/mouth-7.svg diff --git a/svg/parts/mouths/mouth-7.svg b/svg/parts/mouths/mouth-7.svg new file mode 100644 index 00000000..287cb457 --- /dev/null +++ b/svg/parts/mouths/mouth-7.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file From 5be28a3177813597ea38fece570197221337cdfb Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:18 -0700 Subject: [PATCH 0042/2079] feat: add svg/parts/mouths/mouth-8.svg --- svg/parts/mouths/mouth-8.svg | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 svg/parts/mouths/mouth-8.svg diff --git a/svg/parts/mouths/mouth-8.svg b/svg/parts/mouths/mouth-8.svg new file mode 100644 index 00000000..a0c255d4 --- /dev/null +++ b/svg/parts/mouths/mouth-8.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file From d63099503fe01915e61ae5ab0b65f529b07f8d2d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:18 -0700 Subject: [PATCH 0043/2079] feat: add svg/parts/mouths/mouth-9.svg --- svg/parts/mouths/mouth-9.svg | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 svg/parts/mouths/mouth-9.svg diff --git a/svg/parts/mouths/mouth-9.svg b/svg/parts/mouths/mouth-9.svg new file mode 100644 index 00000000..1ae35d09 --- /dev/null +++ b/svg/parts/mouths/mouth-9.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From 8ec7fd7d1e2a68b78a339f20177893fca7abfc9e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:19 -0700 Subject: [PATCH 0044/2079] feat: add svg/parts/accessories/accessory-0.svg --- svg/parts/accessories/accessory-0.svg | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 svg/parts/accessories/accessory-0.svg diff --git a/svg/parts/accessories/accessory-0.svg b/svg/parts/accessories/accessory-0.svg new file mode 100644 index 00000000..1075a8d7 --- /dev/null +++ b/svg/parts/accessories/accessory-0.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file From bc9dbb64b19f14420bda22188cd63fa9c0e80b8e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:19 -0700 Subject: [PATCH 0045/2079] feat: add svg/parts/accessories/accessory-1.svg --- svg/parts/accessories/accessory-1.svg | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 svg/parts/accessories/accessory-1.svg diff --git a/svg/parts/accessories/accessory-1.svg b/svg/parts/accessories/accessory-1.svg new file mode 100644 index 00000000..cb19adee --- /dev/null +++ b/svg/parts/accessories/accessory-1.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file From 2f85f1a0535db000ae6f29d603c0ef73eca4a64f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:20 -0700 Subject: [PATCH 0046/2079] feat: add svg/parts/accessories/accessory-2.svg --- svg/parts/accessories/accessory-2.svg | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 svg/parts/accessories/accessory-2.svg diff --git a/svg/parts/accessories/accessory-2.svg b/svg/parts/accessories/accessory-2.svg new file mode 100644 index 00000000..cb1585d7 --- /dev/null +++ b/svg/parts/accessories/accessory-2.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From 44670cc6a5073438c3a0e425fa8bc5ec639714f3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:21 -0700 Subject: [PATCH 0047/2079] feat: add svg/parts/accessories/accessory-3.svg --- svg/parts/accessories/accessory-3.svg | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 svg/parts/accessories/accessory-3.svg diff --git a/svg/parts/accessories/accessory-3.svg b/svg/parts/accessories/accessory-3.svg new file mode 100644 index 00000000..f7e2ffc4 --- /dev/null +++ b/svg/parts/accessories/accessory-3.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file From 35c5c6f4a641156eedd131a0fecf1ab13b070926 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:21 -0700 Subject: [PATCH 0048/2079] feat: add svg/parts/accessories/accessory-4.svg --- svg/parts/accessories/accessory-4.svg | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 svg/parts/accessories/accessory-4.svg diff --git a/svg/parts/accessories/accessory-4.svg b/svg/parts/accessories/accessory-4.svg new file mode 100644 index 00000000..b7a64d1d --- /dev/null +++ b/svg/parts/accessories/accessory-4.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file From 92abb28290fdc79131761fcbbb567057beca47b8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:22 -0700 Subject: [PATCH 0049/2079] feat: add svg/parts/accessories/accessory-5.svg --- svg/parts/accessories/accessory-5.svg | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 svg/parts/accessories/accessory-5.svg diff --git a/svg/parts/accessories/accessory-5.svg b/svg/parts/accessories/accessory-5.svg new file mode 100644 index 00000000..6a5a42ce --- /dev/null +++ b/svg/parts/accessories/accessory-5.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From 409952e2ebd713e3434b70ebaf26440d3a3a59c6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:22 -0700 Subject: [PATCH 0050/2079] feat: add svg/parts/accessories/accessory-6.svg --- svg/parts/accessories/accessory-6.svg | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 svg/parts/accessories/accessory-6.svg diff --git a/svg/parts/accessories/accessory-6.svg b/svg/parts/accessories/accessory-6.svg new file mode 100644 index 00000000..a78a71d4 --- /dev/null +++ b/svg/parts/accessories/accessory-6.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file From 24b725f4483b5cdcdd4150ec038ab4cf2e55ce7d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:23 -0700 Subject: [PATCH 0051/2079] feat: add svg/parts/accessories/accessory-7.svg --- svg/parts/accessories/accessory-7.svg | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 svg/parts/accessories/accessory-7.svg diff --git a/svg/parts/accessories/accessory-7.svg b/svg/parts/accessories/accessory-7.svg new file mode 100644 index 00000000..7d1afec3 --- /dev/null +++ b/svg/parts/accessories/accessory-7.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file From 7cb7ce1a276d3f392d6b6606e898cbd8de6bef86 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:23 -0700 Subject: [PATCH 0052/2079] feat: add svg/parts/accessories/accessory-8.svg --- svg/parts/accessories/accessory-8.svg | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 svg/parts/accessories/accessory-8.svg diff --git a/svg/parts/accessories/accessory-8.svg b/svg/parts/accessories/accessory-8.svg new file mode 100644 index 00000000..9af0645b --- /dev/null +++ b/svg/parts/accessories/accessory-8.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file From c93185d4ec31cd29b458f9bba1a46d45536b0d43 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:54:24 -0700 Subject: [PATCH 0053/2079] feat: add svg/parts/accessories/accessory-9.svg --- svg/parts/accessories/accessory-9.svg | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 svg/parts/accessories/accessory-9.svg diff --git a/svg/parts/accessories/accessory-9.svg b/svg/parts/accessories/accessory-9.svg new file mode 100644 index 00000000..7de11f64 --- /dev/null +++ b/svg/parts/accessories/accessory-9.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file From 393b789532df597efa456c3a6c794dcea78a4756 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:57:01 -0700 Subject: [PATCH 0054/2079] fix: lint errors in svg-render.js --- src/svg-render.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/svg-render.js b/src/svg-render.js index 688676e6..4f6ce145 100644 --- a/src/svg-render.js +++ b/src/svg-render.js @@ -22,8 +22,8 @@ function colorScheme(hue) { outline: `hsl(${hue}, 15%, 20%)`, highlight: `hsl(${hue}, 60%, 70%)`, shadow: `hsl(${hue}, 70%, 35%)`, - neck: `hsl(0, 0%, 55%)`, - neckStroke: `hsl(0, 0%, 35%)`, + neck: 'hsl(0, 0%, 55%)', + neckStroke: 'hsl(0, 0%, 35%)', }; } @@ -66,7 +66,7 @@ function extractContent(svgString) { * @returns {string} Complete SVG string */ export function composeSvg(parts, buckets) { - const [bodyStyle, headStyle, eyeStyle, mouthStyle, accStyle, bhColor, emColor, accColor] = buckets; + const [,,,, , bhColor, emColor] = buckets; const mainHue = COLOR_HUES[bhColor] || 120; const accentHue = COLOR_HUES[emColor] || 45; From 21186e0a53546c093b000403bbebbc9c4e7133bf Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 22:57:02 -0700 Subject: [PATCH 0055/2079] test: add 119 tests for SVG renderer --- src/svg-render.test.js | 205 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 205 insertions(+) create mode 100644 src/svg-render.test.js diff --git a/src/svg-render.test.js b/src/svg-render.test.js new file mode 100644 index 00000000..e51b8a80 --- /dev/null +++ b/src/svg-render.test.js @@ -0,0 +1,205 @@ +import { describe, it, expect } from 'vitest'; +import { composeSvg, COLOR_HUES, colorScheme, generateStyles, extractContent } from './svg-render.js'; +import fs from 'fs'; +import path from 'path'; + +describe('COLOR_HUES', () => { + it('should have 10 color hues', () => { + expect(COLOR_HUES).toHaveLength(10); + }); + + it('should all be valid hue values (0-360)', () => { + COLOR_HUES.forEach(hue => { + expect(hue).toBeGreaterThanOrEqual(0); + expect(hue).toBeLessThanOrEqual(360); + }); + }); +}); + +describe('colorScheme', () => { + it('should return fill, outline, highlight, shadow, neck, neckStroke', () => { + const scheme = colorScheme(120); + expect(scheme).toHaveProperty('fill'); + expect(scheme).toHaveProperty('outline'); + expect(scheme).toHaveProperty('highlight'); + expect(scheme).toHaveProperty('shadow'); + expect(scheme).toHaveProperty('neck'); + expect(scheme).toHaveProperty('neckStroke'); + }); + + it('should produce HSL color strings', () => { + const scheme = colorScheme(200); + expect(scheme.fill).toMatch(/^hsl\(/); + expect(scheme.outline).toMatch(/^hsl\(/); + expect(scheme.highlight).toMatch(/^hsl\(/); + }); + + it('should use the provided hue', () => { + const scheme = colorScheme(45); + expect(scheme.fill).toContain('45'); + }); + + it('should produce different schemes for different hues', () => { + const a = colorScheme(0); + const b = colorScheme(180); + expect(a.fill).not.toBe(b.fill); + }); +}); + +describe('generateStyles', () => { + it('should return a '); + }); + + it('should include all CSS classes', () => { + const styles = generateStyles(200, 30); + expect(styles).toContain('.outline'); + expect(styles).toContain('.fill'); + expect(styles).toContain('.highlight'); + expect(styles).toContain('.shadow'); + expect(styles).toContain('.neck'); + expect(styles).toContain('.rivet'); + expect(styles).toContain('.accent'); + }); + + it('should use main hue for fill/outline', () => { + const styles = generateStyles(120, 45); + expect(styles).toContain('hsl(120'); + }); + + it('should use accent hue for accent class', () => { + const styles = generateStyles(120, 270); + expect(styles).toContain('hsl(270'); + }); +}); + +describe('extractContent', () => { + it('should extract content between tags', () => { + const svg = ''; + const content = extractContent(svg); + expect(content).toContain(' { + const content = extractContent(''); + expect(content).toBe(''); + }); + + it('should handle multiline content', () => { + const svg = '\n \n \n'; + const content = extractContent(svg); + expect(content).toContain(' { + // Load real SVG parts for integration tests + const partsDir = path.join(import.meta.dirname, '..', 'svg', 'parts'); + + function loadPart(type, singular, index) { + try { + return fs.readFileSync(path.join(partsDir, type, singular + '-' + index + '.svg'), 'utf8'); + } catch { + return ''; + } + } + + function loadPartsForBuckets(buckets) { + const [bodyStyle, headStyle, eyeStyle, mouthStyle, accStyle] = buckets; + return { + head: loadPart('heads', 'head', headStyle), + body: loadPart('bodies', 'body', bodyStyle), + eyes: loadPart('eyes', 'eye', eyeStyle), + mouth: loadPart('mouths', 'mouth', mouthStyle), + accessory: loadPart('accessories', 'accessory', accStyle), + }; + } + + it('should return a valid SVG string', () => { + const buckets = [0, 0, 0, 0, 0, 0, 0, 0]; + const parts = loadPartsForBuckets(buckets); + const svg = composeSvg(parts, buckets); + expect(svg).toContain(''); + expect(svg).toContain('viewBox="0 0 300 300"'); + }); + + it('should include style block with colors', () => { + const buckets = [0, 0, 0, 0, 0, 7, 0, 0]; // bhColor=7 → hue 120 (green) + const parts = loadPartsForBuckets(buckets); + const svg = composeSvg(parts, buckets); + expect(svg).toContain(' + + + + + + + + From 1ed9c2ae8221815ddecc3323221c2ea4e97c5d95 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:47 -0700 Subject: [PATCH 0065/2079] style: add coloring book default colors to head-9 --- svg/parts/heads/head-9.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/heads/head-9.svg b/svg/parts/heads/head-9.svg index 0dc2c944..07d8e9b5 100644 --- a/svg/parts/heads/head-9.svg +++ b/svg/parts/heads/head-9.svg @@ -1,4 +1,17 @@ + + From bf50e6d16ca325fd1b4bf5fdaccad63fce8ecc9e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:48 -0700 Subject: [PATCH 0067/2079] style: add coloring book default colors to body-1 --- svg/parts/bodies/body-1.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/bodies/body-1.svg b/svg/parts/bodies/body-1.svg index e28ef74d..56cac1c1 100644 --- a/svg/parts/bodies/body-1.svg +++ b/svg/parts/bodies/body-1.svg @@ -1,4 +1,17 @@ + From 8a39cf2bd945da168d5cf18a3a96c9bebbdd7ce2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:49 -0700 Subject: [PATCH 0068/2079] style: add coloring book default colors to body-2 --- svg/parts/bodies/body-2.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/bodies/body-2.svg b/svg/parts/bodies/body-2.svg index cfacebf3..72673a8f 100644 --- a/svg/parts/bodies/body-2.svg +++ b/svg/parts/bodies/body-2.svg @@ -1,4 +1,17 @@ + From 22fbe9bdd63abfe8f0e5a2d3d0134b91a9302c64 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:49 -0700 Subject: [PATCH 0069/2079] style: add coloring book default colors to body-3 --- svg/parts/bodies/body-3.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/bodies/body-3.svg b/svg/parts/bodies/body-3.svg index 6232c7fc..f5cdbbd5 100644 --- a/svg/parts/bodies/body-3.svg +++ b/svg/parts/bodies/body-3.svg @@ -1,4 +1,17 @@ + From 8559ebf521689fbb555b84541cfccd349381eb96 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:49 -0700 Subject: [PATCH 0070/2079] style: add coloring book default colors to body-4 --- svg/parts/bodies/body-4.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/bodies/body-4.svg b/svg/parts/bodies/body-4.svg index 46f8b443..f1df761f 100644 --- a/svg/parts/bodies/body-4.svg +++ b/svg/parts/bodies/body-4.svg @@ -1,4 +1,17 @@ + From 8afef8f6faa0304d90e4c321cdcf769b89e91c7d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:50 -0700 Subject: [PATCH 0071/2079] style: add coloring book default colors to body-5 --- svg/parts/bodies/body-5.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/bodies/body-5.svg b/svg/parts/bodies/body-5.svg index 35c95fa4..f63f5703 100644 --- a/svg/parts/bodies/body-5.svg +++ b/svg/parts/bodies/body-5.svg @@ -1,4 +1,17 @@ + From 1f6cb3142204de58e86143fa03ff3893515f0162 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:50 -0700 Subject: [PATCH 0072/2079] style: add coloring book default colors to body-6 --- svg/parts/bodies/body-6.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/bodies/body-6.svg b/svg/parts/bodies/body-6.svg index 1e9414ab..8fd3a6e8 100644 --- a/svg/parts/bodies/body-6.svg +++ b/svg/parts/bodies/body-6.svg @@ -1,4 +1,17 @@ + From 0d49fe9285f0026bbf959489316d1a6dd9440c3d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:51 -0700 Subject: [PATCH 0073/2079] style: add coloring book default colors to body-7 --- svg/parts/bodies/body-7.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/bodies/body-7.svg b/svg/parts/bodies/body-7.svg index 9352f698..b188601c 100644 --- a/svg/parts/bodies/body-7.svg +++ b/svg/parts/bodies/body-7.svg @@ -1,4 +1,17 @@ + From c6e514db24e917e4a8833b6891d95317d3b02efa Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:51 -0700 Subject: [PATCH 0074/2079] style: add coloring book default colors to body-8 --- svg/parts/bodies/body-8.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/bodies/body-8.svg b/svg/parts/bodies/body-8.svg index bff67407..57efab6b 100644 --- a/svg/parts/bodies/body-8.svg +++ b/svg/parts/bodies/body-8.svg @@ -1,4 +1,17 @@ + From fb005e52202ada2ee126980fabbaff49290bb3c1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:52 -0700 Subject: [PATCH 0075/2079] style: add coloring book default colors to body-9 --- svg/parts/bodies/body-9.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/bodies/body-9.svg b/svg/parts/bodies/body-9.svg index 36e664dd..9b3cb6e8 100644 --- a/svg/parts/bodies/body-9.svg +++ b/svg/parts/bodies/body-9.svg @@ -1,4 +1,17 @@ + From c7f3ddc7f71d9cfc8e2468b990c79a950e478869 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:52 -0700 Subject: [PATCH 0076/2079] style: add coloring book default colors to eye-0 --- svg/parts/eyes/eye-0.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/eyes/eye-0.svg b/svg/parts/eyes/eye-0.svg index 5fed1ace..f3f8dc54 100644 --- a/svg/parts/eyes/eye-0.svg +++ b/svg/parts/eyes/eye-0.svg @@ -1,4 +1,17 @@ + From dde72ce72ef8e6ee9e8ba40a5fb4c89a17db8c84 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:52 -0700 Subject: [PATCH 0077/2079] style: add coloring book default colors to eye-1 --- svg/parts/eyes/eye-1.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/eyes/eye-1.svg b/svg/parts/eyes/eye-1.svg index a27a08f0..b276c559 100644 --- a/svg/parts/eyes/eye-1.svg +++ b/svg/parts/eyes/eye-1.svg @@ -1,4 +1,17 @@ + From 01d192e90ca85e5a29f2e8656ebd6c4bf39db0e6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:53 -0700 Subject: [PATCH 0078/2079] style: add coloring book default colors to eye-2 --- svg/parts/eyes/eye-2.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/eyes/eye-2.svg b/svg/parts/eyes/eye-2.svg index 69a44d84..e6fb3bfd 100644 --- a/svg/parts/eyes/eye-2.svg +++ b/svg/parts/eyes/eye-2.svg @@ -1,4 +1,17 @@ + From 2cc5185b58cc8e27bd1ff65aaae8b736a9501497 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:53 -0700 Subject: [PATCH 0079/2079] style: add coloring book default colors to eye-3 --- svg/parts/eyes/eye-3.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/eyes/eye-3.svg b/svg/parts/eyes/eye-3.svg index 38fb7a9b..321d4b99 100644 --- a/svg/parts/eyes/eye-3.svg +++ b/svg/parts/eyes/eye-3.svg @@ -1,4 +1,17 @@ + From b694eb713b04a14b821457d91720740f78e2fad0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:54 -0700 Subject: [PATCH 0080/2079] style: add coloring book default colors to eye-4 --- svg/parts/eyes/eye-4.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/eyes/eye-4.svg b/svg/parts/eyes/eye-4.svg index 6b3882f1..bf3fc304 100644 --- a/svg/parts/eyes/eye-4.svg +++ b/svg/parts/eyes/eye-4.svg @@ -1,4 +1,17 @@ + From c525f9f58854f5fad0a7c60978ab65bcde3588cb Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:54 -0700 Subject: [PATCH 0081/2079] style: add coloring book default colors to eye-5 --- svg/parts/eyes/eye-5.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/eyes/eye-5.svg b/svg/parts/eyes/eye-5.svg index f070de99..06a3eaf4 100644 --- a/svg/parts/eyes/eye-5.svg +++ b/svg/parts/eyes/eye-5.svg @@ -1,4 +1,17 @@ + From a6da525ee4cc2663320dc6f0aaa944141f890862 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:55 -0700 Subject: [PATCH 0082/2079] style: add coloring book default colors to eye-6 --- svg/parts/eyes/eye-6.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/eyes/eye-6.svg b/svg/parts/eyes/eye-6.svg index dd0b01f7..85c53180 100644 --- a/svg/parts/eyes/eye-6.svg +++ b/svg/parts/eyes/eye-6.svg @@ -1,4 +1,17 @@ + From 0ae6355d6077d823653563b5038401662ccbf489 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:55 -0700 Subject: [PATCH 0083/2079] style: add coloring book default colors to eye-7 --- svg/parts/eyes/eye-7.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/eyes/eye-7.svg b/svg/parts/eyes/eye-7.svg index 88f71e8d..b98cc975 100644 --- a/svg/parts/eyes/eye-7.svg +++ b/svg/parts/eyes/eye-7.svg @@ -1,4 +1,17 @@ + From d5bdaf2018247142f4612e5863f57ef1a857567b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:55 -0700 Subject: [PATCH 0084/2079] style: add coloring book default colors to eye-8 --- svg/parts/eyes/eye-8.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/eyes/eye-8.svg b/svg/parts/eyes/eye-8.svg index d9833773..0e78fb77 100644 --- a/svg/parts/eyes/eye-8.svg +++ b/svg/parts/eyes/eye-8.svg @@ -1,4 +1,17 @@ + From 3ccdd2a519ad45ea869b0fba63efc5a5a0ad7fc8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:56 -0700 Subject: [PATCH 0085/2079] style: add coloring book default colors to eye-9 --- svg/parts/eyes/eye-9.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/eyes/eye-9.svg b/svg/parts/eyes/eye-9.svg index de764463..abac2864 100644 --- a/svg/parts/eyes/eye-9.svg +++ b/svg/parts/eyes/eye-9.svg @@ -1,4 +1,17 @@ + From 0ee61d7771e56adcd3295cb045e9ed32e1dacc3a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:56 -0700 Subject: [PATCH 0086/2079] style: add coloring book default colors to mouth-0 --- svg/parts/mouths/mouth-0.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/mouths/mouth-0.svg b/svg/parts/mouths/mouth-0.svg index 2778a703..b2440f52 100644 --- a/svg/parts/mouths/mouth-0.svg +++ b/svg/parts/mouths/mouth-0.svg @@ -1,4 +1,17 @@ + From c9fb4a837cdcde27bfce1de7f598338e2969e08c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:57 -0700 Subject: [PATCH 0087/2079] style: add coloring book default colors to mouth-1 --- svg/parts/mouths/mouth-1.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/mouths/mouth-1.svg b/svg/parts/mouths/mouth-1.svg index f2ad428c..1f4c046d 100644 --- a/svg/parts/mouths/mouth-1.svg +++ b/svg/parts/mouths/mouth-1.svg @@ -1,4 +1,17 @@ + From 7705dae1e1b3d6fdadc004767c271fbe5f836397 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:57 -0700 Subject: [PATCH 0088/2079] style: add coloring book default colors to mouth-2 --- svg/parts/mouths/mouth-2.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/mouths/mouth-2.svg b/svg/parts/mouths/mouth-2.svg index 1c0da808..fd6d702f 100644 --- a/svg/parts/mouths/mouth-2.svg +++ b/svg/parts/mouths/mouth-2.svg @@ -1,4 +1,17 @@ + From 4bca1edb69bffc599b20656a500950c1043b5e6f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:58 -0700 Subject: [PATCH 0089/2079] style: add coloring book default colors to mouth-3 --- svg/parts/mouths/mouth-3.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/mouths/mouth-3.svg b/svg/parts/mouths/mouth-3.svg index f189fbd9..7c70b365 100644 --- a/svg/parts/mouths/mouth-3.svg +++ b/svg/parts/mouths/mouth-3.svg @@ -1,4 +1,17 @@ + From f586e0786baef2b7b4e782fc24dddb19ae9d1265 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:58 -0700 Subject: [PATCH 0090/2079] style: add coloring book default colors to mouth-4 --- svg/parts/mouths/mouth-4.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/mouths/mouth-4.svg b/svg/parts/mouths/mouth-4.svg index cb6819d0..c431d55f 100644 --- a/svg/parts/mouths/mouth-4.svg +++ b/svg/parts/mouths/mouth-4.svg @@ -1,4 +1,17 @@ + From b428f698a7192a871c40fcb5706397fe4c831268 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:58 -0700 Subject: [PATCH 0091/2079] style: add coloring book default colors to mouth-5 --- svg/parts/mouths/mouth-5.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/mouths/mouth-5.svg b/svg/parts/mouths/mouth-5.svg index 346fd1c3..716cdc97 100644 --- a/svg/parts/mouths/mouth-5.svg +++ b/svg/parts/mouths/mouth-5.svg @@ -1,4 +1,17 @@ + From ce8166ed64b4b6128db1ea487b5e7cc1d541c8fc Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:59 -0700 Subject: [PATCH 0092/2079] style: add coloring book default colors to mouth-6 --- svg/parts/mouths/mouth-6.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/mouths/mouth-6.svg b/svg/parts/mouths/mouth-6.svg index b19797d6..c9aa3840 100644 --- a/svg/parts/mouths/mouth-6.svg +++ b/svg/parts/mouths/mouth-6.svg @@ -1,4 +1,17 @@ + From 0327f69e9a2787529eaf6f9b57846382dc006225 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:10:59 -0700 Subject: [PATCH 0093/2079] style: add coloring book default colors to mouth-7 --- svg/parts/mouths/mouth-7.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/mouths/mouth-7.svg b/svg/parts/mouths/mouth-7.svg index 287cb457..68c89b39 100644 --- a/svg/parts/mouths/mouth-7.svg +++ b/svg/parts/mouths/mouth-7.svg @@ -1,4 +1,17 @@ + From ce2e812ef106d3a626cee49797032ffb01420f61 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:11:00 -0700 Subject: [PATCH 0094/2079] style: add coloring book default colors to mouth-8 --- svg/parts/mouths/mouth-8.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/mouths/mouth-8.svg b/svg/parts/mouths/mouth-8.svg index a0c255d4..747e679f 100644 --- a/svg/parts/mouths/mouth-8.svg +++ b/svg/parts/mouths/mouth-8.svg @@ -1,4 +1,17 @@ + From 56205e37cf574c42ff76fd88a7b027d5b41d6dd7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:11:00 -0700 Subject: [PATCH 0095/2079] style: add coloring book default colors to mouth-9 --- svg/parts/mouths/mouth-9.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/mouths/mouth-9.svg b/svg/parts/mouths/mouth-9.svg index 1ae35d09..ef2e521b 100644 --- a/svg/parts/mouths/mouth-9.svg +++ b/svg/parts/mouths/mouth-9.svg @@ -1,4 +1,17 @@ + From b2be52224d1421afb3b1e20434c40209b2ca76b2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:11:00 -0700 Subject: [PATCH 0096/2079] style: add coloring book default colors to accessory-0 --- svg/parts/accessories/accessory-0.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/accessories/accessory-0.svg b/svg/parts/accessories/accessory-0.svg index 1075a8d7..91d361d7 100644 --- a/svg/parts/accessories/accessory-0.svg +++ b/svg/parts/accessories/accessory-0.svg @@ -1,4 +1,17 @@ + From bc1792e17fd317373604cebe8833b06c4fe2f3e6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:11:01 -0700 Subject: [PATCH 0097/2079] style: add coloring book default colors to accessory-1 --- svg/parts/accessories/accessory-1.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/accessories/accessory-1.svg b/svg/parts/accessories/accessory-1.svg index cb19adee..76fb1751 100644 --- a/svg/parts/accessories/accessory-1.svg +++ b/svg/parts/accessories/accessory-1.svg @@ -1,4 +1,17 @@ + From 72c00a41da98932b5095b0f93f7820cf86048342 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:11:01 -0700 Subject: [PATCH 0098/2079] style: add coloring book default colors to accessory-2 --- svg/parts/accessories/accessory-2.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/accessories/accessory-2.svg b/svg/parts/accessories/accessory-2.svg index cb1585d7..9c0b2ae7 100644 --- a/svg/parts/accessories/accessory-2.svg +++ b/svg/parts/accessories/accessory-2.svg @@ -1,4 +1,17 @@ + From c297b9e55bb5759995bcbc661d2a91c629a172a7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:11:02 -0700 Subject: [PATCH 0099/2079] style: add coloring book default colors to accessory-3 --- svg/parts/accessories/accessory-3.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/accessories/accessory-3.svg b/svg/parts/accessories/accessory-3.svg index f7e2ffc4..7a4b01df 100644 --- a/svg/parts/accessories/accessory-3.svg +++ b/svg/parts/accessories/accessory-3.svg @@ -1,4 +1,17 @@ + From 93cd6b8d5727d892413612cd19ed47e63848a109 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:11:02 -0700 Subject: [PATCH 0100/2079] style: add coloring book default colors to accessory-4 --- svg/parts/accessories/accessory-4.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/accessories/accessory-4.svg b/svg/parts/accessories/accessory-4.svg index b7a64d1d..a26b7397 100644 --- a/svg/parts/accessories/accessory-4.svg +++ b/svg/parts/accessories/accessory-4.svg @@ -1,4 +1,17 @@ + From 1c3f5e99b1df51e6af533a7bb78fac1c704d003c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:11:03 -0700 Subject: [PATCH 0101/2079] style: add coloring book default colors to accessory-5 --- svg/parts/accessories/accessory-5.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/accessories/accessory-5.svg b/svg/parts/accessories/accessory-5.svg index 6a5a42ce..941b6796 100644 --- a/svg/parts/accessories/accessory-5.svg +++ b/svg/parts/accessories/accessory-5.svg @@ -1,4 +1,17 @@ + From a4002ba1804de4525a3c9a2cc86c9f35e8d8d96f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:11:03 -0700 Subject: [PATCH 0102/2079] style: add coloring book default colors to accessory-6 --- svg/parts/accessories/accessory-6.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/accessories/accessory-6.svg b/svg/parts/accessories/accessory-6.svg index a78a71d4..9f95bbae 100644 --- a/svg/parts/accessories/accessory-6.svg +++ b/svg/parts/accessories/accessory-6.svg @@ -1,4 +1,17 @@ + From 04cd78046efddd252dfd209903eca489bdd89f3c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:11:03 -0700 Subject: [PATCH 0103/2079] style: add coloring book default colors to accessory-7 --- svg/parts/accessories/accessory-7.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/accessories/accessory-7.svg b/svg/parts/accessories/accessory-7.svg index 7d1afec3..89b02422 100644 --- a/svg/parts/accessories/accessory-7.svg +++ b/svg/parts/accessories/accessory-7.svg @@ -1,4 +1,17 @@ + From 67aae2acde705ba9beb711deb860f40e2744355d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:11:04 -0700 Subject: [PATCH 0104/2079] style: add coloring book default colors to accessory-8 --- svg/parts/accessories/accessory-8.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/accessories/accessory-8.svg b/svg/parts/accessories/accessory-8.svg index 9af0645b..e673c2ac 100644 --- a/svg/parts/accessories/accessory-8.svg +++ b/svg/parts/accessories/accessory-8.svg @@ -1,4 +1,17 @@ + From 732173fe09af44664572e0f6ed4641ed016d054e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:11:04 -0700 Subject: [PATCH 0105/2079] style: add coloring book default colors to accessory-9 --- svg/parts/accessories/accessory-9.svg | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svg/parts/accessories/accessory-9.svg b/svg/parts/accessories/accessory-9.svg index 7de11f64..dfd2bc75 100644 --- a/svg/parts/accessories/accessory-9.svg +++ b/svg/parts/accessories/accessory-9.svg @@ -1,4 +1,17 @@ + From be475d82d886f40e7ccc57a0546c4584fb650bc4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:15:59 -0700 Subject: [PATCH 0106/2079] style: inline styles for GitHub rendering --- svg/parts/heads/head-0.svg | 35 +++++++++++------------------------ 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/svg/parts/heads/head-0.svg b/svg/parts/heads/head-0.svg index f175ea87..b0798996 100644 --- a/svg/parts/heads/head-0.svg +++ b/svg/parts/heads/head-0.svg @@ -1,20 +1,7 @@ - - - - - - - - - - - - + + + + + + + + + From 68c0a51b552933b17e54226979243f833a600bd6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:00 -0700 Subject: [PATCH 0107/2079] style: inline styles for GitHub rendering --- svg/parts/heads/head-1.svg | 35 +++++++++++------------------------ 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/svg/parts/heads/head-1.svg b/svg/parts/heads/head-1.svg index 286b7e85..f71963d8 100644 --- a/svg/parts/heads/head-1.svg +++ b/svg/parts/heads/head-1.svg @@ -1,20 +1,7 @@ - - - - - + + - - - - - - - + + + + + + + From bb44db524d64ad0762d6f7e84fe1e486a438fcab Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:00 -0700 Subject: [PATCH 0108/2079] style: inline styles for GitHub rendering --- svg/parts/heads/head-2.svg | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/svg/parts/heads/head-2.svg b/svg/parts/heads/head-2.svg index 73e743f2..fcd9d46c 100644 --- a/svg/parts/heads/head-2.svg +++ b/svg/parts/heads/head-2.svg @@ -1,20 +1,7 @@ - - - - - + + From 1b793101ef0cf1bedd83cdd120059e887debeb0d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:01 -0700 Subject: [PATCH 0109/2079] style: inline styles for GitHub rendering --- svg/parts/heads/head-3.svg | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/svg/parts/heads/head-3.svg b/svg/parts/heads/head-3.svg index f373e9c1..56789298 100644 --- a/svg/parts/heads/head-3.svg +++ b/svg/parts/heads/head-3.svg @@ -1,20 +1,7 @@ - - - - - + + From 6f96dbe7ec3d86c8e2403752eb9fae56c64c32d0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:01 -0700 Subject: [PATCH 0110/2079] style: inline styles for GitHub rendering --- svg/parts/heads/head-4.svg | 41 +++++++++++++------------------------- 1 file changed, 14 insertions(+), 27 deletions(-) diff --git a/svg/parts/heads/head-4.svg b/svg/parts/heads/head-4.svg index e609c871..55ccb36c 100644 --- a/svg/parts/heads/head-4.svg +++ b/svg/parts/heads/head-4.svg @@ -1,20 +1,7 @@ - - - - - + + - - - - - + + + + + - - - - - + + + + + From f9306677b7ed203922761f292597a02afb90e8c8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:01 -0700 Subject: [PATCH 0111/2079] style: inline styles for GitHub rendering --- svg/parts/heads/head-5.svg | 31 +++++++++---------------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/svg/parts/heads/head-5.svg b/svg/parts/heads/head-5.svg index 425b2809..5ea0d7d2 100644 --- a/svg/parts/heads/head-5.svg +++ b/svg/parts/heads/head-5.svg @@ -1,20 +1,7 @@ - - - - - + + - - - - - + + + + + From a59cfb2fcdc7e9a9a3efc1a09558521c8a34d0d3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:02 -0700 Subject: [PATCH 0112/2079] style: inline styles for GitHub rendering --- svg/parts/heads/head-6.svg | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/svg/parts/heads/head-6.svg b/svg/parts/heads/head-6.svg index 61ec4923..7e53ee8c 100644 --- a/svg/parts/heads/head-6.svg +++ b/svg/parts/heads/head-6.svg @@ -1,20 +1,7 @@ - - - - - - - + + From 18677482406486cef4f2a5c8f370ca479692f55b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:02 -0700 Subject: [PATCH 0113/2079] style: inline styles for GitHub rendering --- svg/parts/heads/head-7.svg | 35 +++++++++++------------------------ 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/svg/parts/heads/head-7.svg b/svg/parts/heads/head-7.svg index 9c7b5876..cf093264 100644 --- a/svg/parts/heads/head-7.svg +++ b/svg/parts/heads/head-7.svg @@ -1,20 +1,7 @@ - - - - - + + - - - - - - - + + + + + + + From d6ba15f95553af02b12d55981842126685c8dc53 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:03 -0700 Subject: [PATCH 0114/2079] style: inline styles for GitHub rendering --- svg/parts/heads/head-8.svg | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/svg/parts/heads/head-8.svg b/svg/parts/heads/head-8.svg index e8766ff1..514d1003 100644 --- a/svg/parts/heads/head-8.svg +++ b/svg/parts/heads/head-8.svg @@ -1,22 +1,9 @@ - - - - - + + + + From 06849917f7d5c773601c4850c1891a6c0c6f86ea Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:03 -0700 Subject: [PATCH 0115/2079] style: inline styles for GitHub rendering --- svg/parts/heads/head-9.svg | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/svg/parts/heads/head-9.svg b/svg/parts/heads/head-9.svg index 07d8e9b5..8887f656 100644 --- a/svg/parts/heads/head-9.svg +++ b/svg/parts/heads/head-9.svg @@ -1,20 +1,7 @@ - - - - - + + From 6c32d74f83c555475c2b67e1afc25fbc29005a73 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:03 -0700 Subject: [PATCH 0116/2079] style: inline styles for GitHub rendering --- svg/parts/bodies/body-0.svg | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/svg/parts/bodies/body-0.svg b/svg/parts/bodies/body-0.svg index 570c26e1..bf5f8e2a 100644 --- a/svg/parts/bodies/body-0.svg +++ b/svg/parts/bodies/body-0.svg @@ -1,22 +1,9 @@ - - - - - - + + + + + \ No newline at end of file From f6245d9888aa9320491461dc80f4d05d938477a4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:04 -0700 Subject: [PATCH 0117/2079] style: inline styles for GitHub rendering --- svg/parts/bodies/body-1.svg | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/svg/parts/bodies/body-1.svg b/svg/parts/bodies/body-1.svg index 56cac1c1..c39c6daf 100644 --- a/svg/parts/bodies/body-1.svg +++ b/svg/parts/bodies/body-1.svg @@ -1,21 +1,8 @@ - - - - - + + + + \ No newline at end of file From 1736fee72c351783cf9a2aa47dca338e33885430 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:05 -0700 Subject: [PATCH 0118/2079] style: inline styles for GitHub rendering --- svg/parts/bodies/body-2.svg | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/svg/parts/bodies/body-2.svg b/svg/parts/bodies/body-2.svg index 72673a8f..ae2ccd4e 100644 --- a/svg/parts/bodies/body-2.svg +++ b/svg/parts/bodies/body-2.svg @@ -1,23 +1,10 @@ - - - - - - - + + + + + + \ No newline at end of file From 9f049e9ec9bf54d526d210808d1eae366889ca56 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:05 -0700 Subject: [PATCH 0119/2079] style: inline styles for GitHub rendering --- svg/parts/bodies/body-3.svg | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/svg/parts/bodies/body-3.svg b/svg/parts/bodies/body-3.svg index f5cdbbd5..0e6cdc22 100644 --- a/svg/parts/bodies/body-3.svg +++ b/svg/parts/bodies/body-3.svg @@ -1,23 +1,10 @@ - - - - - - - + + + + + + \ No newline at end of file From 7bb2c216097c636bcaeca6a7b29083e6182795c7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:05 -0700 Subject: [PATCH 0120/2079] style: inline styles for GitHub rendering --- svg/parts/bodies/body-4.svg | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/svg/parts/bodies/body-4.svg b/svg/parts/bodies/body-4.svg index f1df761f..d7a45df3 100644 --- a/svg/parts/bodies/body-4.svg +++ b/svg/parts/bodies/body-4.svg @@ -1,21 +1,8 @@ - - - - - + + + + \ No newline at end of file From a1782599c39cc5a8801d8187988371a51aa977a8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:06 -0700 Subject: [PATCH 0121/2079] style: inline styles for GitHub rendering --- svg/parts/bodies/body-5.svg | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/svg/parts/bodies/body-5.svg b/svg/parts/bodies/body-5.svg index f63f5703..7865d54d 100644 --- a/svg/parts/bodies/body-5.svg +++ b/svg/parts/bodies/body-5.svg @@ -1,22 +1,9 @@ - - - - - - + + + + + \ No newline at end of file From 83674a80fcfc81e4f22c9299b0bd849c96d441a4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:06 -0700 Subject: [PATCH 0122/2079] style: inline styles for GitHub rendering --- svg/parts/bodies/body-6.svg | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/svg/parts/bodies/body-6.svg b/svg/parts/bodies/body-6.svg index 8fd3a6e8..5121390b 100644 --- a/svg/parts/bodies/body-6.svg +++ b/svg/parts/bodies/body-6.svg @@ -1,21 +1,8 @@ - - - - - + + + + \ No newline at end of file From 854083f97c0e464120c60ef2a594bb3c7b7b3656 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:07 -0700 Subject: [PATCH 0123/2079] style: inline styles for GitHub rendering --- svg/parts/bodies/body-7.svg | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/svg/parts/bodies/body-7.svg b/svg/parts/bodies/body-7.svg index b188601c..e4434313 100644 --- a/svg/parts/bodies/body-7.svg +++ b/svg/parts/bodies/body-7.svg @@ -1,20 +1,7 @@ - - - - + + + \ No newline at end of file From 892bd57125cac1295c565531945f765c385b23a3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:07 -0700 Subject: [PATCH 0124/2079] style: inline styles for GitHub rendering --- svg/parts/bodies/body-8.svg | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/svg/parts/bodies/body-8.svg b/svg/parts/bodies/body-8.svg index 57efab6b..c95d6a74 100644 --- a/svg/parts/bodies/body-8.svg +++ b/svg/parts/bodies/body-8.svg @@ -1,21 +1,8 @@ - - - - - + + + + \ No newline at end of file From e368782cf9dd5ed784605d5b67707277291aa051 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:08 -0700 Subject: [PATCH 0125/2079] style: inline styles for GitHub rendering --- svg/parts/bodies/body-9.svg | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/svg/parts/bodies/body-9.svg b/svg/parts/bodies/body-9.svg index 9b3cb6e8..f5fd36d3 100644 --- a/svg/parts/bodies/body-9.svg +++ b/svg/parts/bodies/body-9.svg @@ -1,23 +1,10 @@ - - - - - - - + + + + + + \ No newline at end of file From f0d60029742fcec8d5830357886e8291dbf8fa42 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:08 -0700 Subject: [PATCH 0126/2079] style: inline styles for GitHub rendering --- svg/parts/eyes/eye-0.svg | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/svg/parts/eyes/eye-0.svg b/svg/parts/eyes/eye-0.svg index f3f8dc54..25add284 100644 --- a/svg/parts/eyes/eye-0.svg +++ b/svg/parts/eyes/eye-0.svg @@ -1,21 +1,8 @@ - - - - - + + + + \ No newline at end of file From 4e37deb12770da9d3f99881e710a215633ebcb4b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:08 -0700 Subject: [PATCH 0127/2079] style: inline styles for GitHub rendering --- svg/parts/eyes/eye-1.svg | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/svg/parts/eyes/eye-1.svg b/svg/parts/eyes/eye-1.svg index b276c559..bd13e500 100644 --- a/svg/parts/eyes/eye-1.svg +++ b/svg/parts/eyes/eye-1.svg @@ -1,21 +1,8 @@ - - - - - + + + + \ No newline at end of file From b1161522c62de22f672ea9661c3313a4034c9612 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:09 -0700 Subject: [PATCH 0128/2079] style: inline styles for GitHub rendering --- svg/parts/eyes/eye-2.svg | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/svg/parts/eyes/eye-2.svg b/svg/parts/eyes/eye-2.svg index e6fb3bfd..b8c16ae3 100644 --- a/svg/parts/eyes/eye-2.svg +++ b/svg/parts/eyes/eye-2.svg @@ -1,21 +1,8 @@ - - - - - + + + + \ No newline at end of file From 843b6d124a13b45b0d734f641ac41936a413cfe5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:09 -0700 Subject: [PATCH 0129/2079] style: inline styles for GitHub rendering --- svg/parts/eyes/eye-3.svg | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/svg/parts/eyes/eye-3.svg b/svg/parts/eyes/eye-3.svg index 321d4b99..91255585 100644 --- a/svg/parts/eyes/eye-3.svg +++ b/svg/parts/eyes/eye-3.svg @@ -1,25 +1,12 @@ - - - - - - - - - + + + + + + + + \ No newline at end of file From 395fd955f1e1b088dfc18b469ef85810cd8280ba Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:10 -0700 Subject: [PATCH 0130/2079] style: inline styles for GitHub rendering --- svg/parts/eyes/eye-4.svg | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/svg/parts/eyes/eye-4.svg b/svg/parts/eyes/eye-4.svg index bf3fc304..59a4ad1c 100644 --- a/svg/parts/eyes/eye-4.svg +++ b/svg/parts/eyes/eye-4.svg @@ -1,21 +1,8 @@ - - - - - + + + + \ No newline at end of file From 8f8c48e5017f29a3c0b833dc716c68420f6b3a5f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:10 -0700 Subject: [PATCH 0131/2079] style: inline styles for GitHub rendering --- svg/parts/eyes/eye-5.svg | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/svg/parts/eyes/eye-5.svg b/svg/parts/eyes/eye-5.svg index 06a3eaf4..f600f324 100644 --- a/svg/parts/eyes/eye-5.svg +++ b/svg/parts/eyes/eye-5.svg @@ -1,23 +1,10 @@ - - - - - - - + + + + + + \ No newline at end of file From 2b7dd92dbb84e7585399a1ef3e87c49ab322d019 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:11 -0700 Subject: [PATCH 0132/2079] style: inline styles for GitHub rendering --- svg/parts/eyes/eye-6.svg | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/svg/parts/eyes/eye-6.svg b/svg/parts/eyes/eye-6.svg index 85c53180..dec5fe8c 100644 --- a/svg/parts/eyes/eye-6.svg +++ b/svg/parts/eyes/eye-6.svg @@ -1,20 +1,7 @@ - - - - + + + \ No newline at end of file From 5f8903b6168a5ad2532f50cc75a60956786fdb59 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:11 -0700 Subject: [PATCH 0133/2079] style: inline styles for GitHub rendering --- svg/parts/eyes/eye-7.svg | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/svg/parts/eyes/eye-7.svg b/svg/parts/eyes/eye-7.svg index b98cc975..567cbc80 100644 --- a/svg/parts/eyes/eye-7.svg +++ b/svg/parts/eyes/eye-7.svg @@ -1,22 +1,9 @@ - - - - - - + + + + + \ No newline at end of file From 61f0b9154852b79836b20c319bc266b10328a34b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:11 -0700 Subject: [PATCH 0134/2079] style: inline styles for GitHub rendering --- svg/parts/eyes/eye-8.svg | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/svg/parts/eyes/eye-8.svg b/svg/parts/eyes/eye-8.svg index 0e78fb77..8908cf82 100644 --- a/svg/parts/eyes/eye-8.svg +++ b/svg/parts/eyes/eye-8.svg @@ -1,21 +1,8 @@ - - - - - + + + + \ No newline at end of file From b83494067c676b300332bbc1bdb45ced8a2988ad Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:12 -0700 Subject: [PATCH 0135/2079] style: inline styles for GitHub rendering --- svg/parts/eyes/eye-9.svg | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/svg/parts/eyes/eye-9.svg b/svg/parts/eyes/eye-9.svg index abac2864..8721becc 100644 --- a/svg/parts/eyes/eye-9.svg +++ b/svg/parts/eyes/eye-9.svg @@ -1,21 +1,8 @@ - - - - - + + + + \ No newline at end of file From 9348512e03a07a9464f83dc634bc78791ddd2b0b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:12 -0700 Subject: [PATCH 0136/2079] style: inline styles for GitHub rendering --- svg/parts/mouths/mouth-0.svg | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/svg/parts/mouths/mouth-0.svg b/svg/parts/mouths/mouth-0.svg index b2440f52..5d7ad5d5 100644 --- a/svg/parts/mouths/mouth-0.svg +++ b/svg/parts/mouths/mouth-0.svg @@ -1,22 +1,9 @@ - - - - - - + + + + + \ No newline at end of file From f7d3d263ffac1cb2b06ea8bb3b900e8cae4f5d9f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:13 -0700 Subject: [PATCH 0137/2079] style: inline styles for GitHub rendering --- svg/parts/mouths/mouth-1.svg | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/svg/parts/mouths/mouth-1.svg b/svg/parts/mouths/mouth-1.svg index 1f4c046d..90213bcb 100644 --- a/svg/parts/mouths/mouth-1.svg +++ b/svg/parts/mouths/mouth-1.svg @@ -1,18 +1,5 @@ - - + \ No newline at end of file From 6548c0483e01181edc201a60c70a08716d9a6257 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:13 -0700 Subject: [PATCH 0138/2079] style: inline styles for GitHub rendering --- svg/parts/mouths/mouth-2.svg | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/svg/parts/mouths/mouth-2.svg b/svg/parts/mouths/mouth-2.svg index fd6d702f..668b8ac0 100644 --- a/svg/parts/mouths/mouth-2.svg +++ b/svg/parts/mouths/mouth-2.svg @@ -1,19 +1,6 @@ - - - + + \ No newline at end of file From d3984bc3401985afc5216231c8c2ece58065730e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:13 -0700 Subject: [PATCH 0139/2079] style: inline styles for GitHub rendering --- svg/parts/mouths/mouth-3.svg | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/svg/parts/mouths/mouth-3.svg b/svg/parts/mouths/mouth-3.svg index 7c70b365..16c5b438 100644 --- a/svg/parts/mouths/mouth-3.svg +++ b/svg/parts/mouths/mouth-3.svg @@ -1,18 +1,5 @@ - - + \ No newline at end of file From e32a1daeddbfc2ad6b72f4c4b1a77ca976aecea7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:14 -0700 Subject: [PATCH 0140/2079] style: inline styles for GitHub rendering --- svg/parts/mouths/mouth-4.svg | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/svg/parts/mouths/mouth-4.svg b/svg/parts/mouths/mouth-4.svg index c431d55f..9db4f566 100644 --- a/svg/parts/mouths/mouth-4.svg +++ b/svg/parts/mouths/mouth-4.svg @@ -1,20 +1,7 @@ - - - - + + + \ No newline at end of file From 8307efbfc1c674ff440564e5141329e76cb786af Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:14 -0700 Subject: [PATCH 0141/2079] style: inline styles for GitHub rendering --- svg/parts/mouths/mouth-5.svg | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/svg/parts/mouths/mouth-5.svg b/svg/parts/mouths/mouth-5.svg index 716cdc97..602a00a5 100644 --- a/svg/parts/mouths/mouth-5.svg +++ b/svg/parts/mouths/mouth-5.svg @@ -1,23 +1,10 @@ - - - - - - - + + + + + + \ No newline at end of file From 1572e3c7fb926dcf5d5ee73e40c98e7fe0ff75d7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:15 -0700 Subject: [PATCH 0142/2079] style: inline styles for GitHub rendering --- svg/parts/mouths/mouth-6.svg | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/svg/parts/mouths/mouth-6.svg b/svg/parts/mouths/mouth-6.svg index c9aa3840..77726cc8 100644 --- a/svg/parts/mouths/mouth-6.svg +++ b/svg/parts/mouths/mouth-6.svg @@ -1,18 +1,5 @@ - - + \ No newline at end of file From acdd5e260cff9f786fa9b442a78bc094045f5505 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:15 -0700 Subject: [PATCH 0143/2079] style: inline styles for GitHub rendering --- svg/parts/mouths/mouth-7.svg | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/svg/parts/mouths/mouth-7.svg b/svg/parts/mouths/mouth-7.svg index 68c89b39..04403100 100644 --- a/svg/parts/mouths/mouth-7.svg +++ b/svg/parts/mouths/mouth-7.svg @@ -1,19 +1,6 @@ - - - + + \ No newline at end of file From eb715c2ee326122810f0a27519af650f882d34ed Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:16 -0700 Subject: [PATCH 0144/2079] style: inline styles for GitHub rendering --- svg/parts/mouths/mouth-8.svg | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/svg/parts/mouths/mouth-8.svg b/svg/parts/mouths/mouth-8.svg index 747e679f..b0eab837 100644 --- a/svg/parts/mouths/mouth-8.svg +++ b/svg/parts/mouths/mouth-8.svg @@ -1,18 +1,5 @@ - - + \ No newline at end of file From 98db1422d5e30b2b42396859d30625df0f589e14 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:16 -0700 Subject: [PATCH 0145/2079] style: inline styles for GitHub rendering --- svg/parts/mouths/mouth-9.svg | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/svg/parts/mouths/mouth-9.svg b/svg/parts/mouths/mouth-9.svg index ef2e521b..e56ea97c 100644 --- a/svg/parts/mouths/mouth-9.svg +++ b/svg/parts/mouths/mouth-9.svg @@ -1,21 +1,8 @@ - - - - - + + + + \ No newline at end of file From 9e97793d4596ba2dc63661aebe38e4b586784ad1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:16 -0700 Subject: [PATCH 0146/2079] style: inline styles for GitHub rendering --- svg/parts/accessories/accessory-0.svg | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/svg/parts/accessories/accessory-0.svg b/svg/parts/accessories/accessory-0.svg index 91d361d7..798ab458 100644 --- a/svg/parts/accessories/accessory-0.svg +++ b/svg/parts/accessories/accessory-0.svg @@ -1,20 +1,7 @@ - - - - + + + \ No newline at end of file From 3fd219473fb626f08187d33318d18fdca94ff57c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:17 -0700 Subject: [PATCH 0147/2079] style: inline styles for GitHub rendering --- svg/parts/accessories/accessory-1.svg | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/svg/parts/accessories/accessory-1.svg b/svg/parts/accessories/accessory-1.svg index 76fb1751..478bd854 100644 --- a/svg/parts/accessories/accessory-1.svg +++ b/svg/parts/accessories/accessory-1.svg @@ -1,19 +1,6 @@ - - - + + \ No newline at end of file From b37d59b41a00fe39973dabcf3dfc34bc419ba383 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:17 -0700 Subject: [PATCH 0148/2079] style: inline styles for GitHub rendering --- svg/parts/accessories/accessory-2.svg | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/svg/parts/accessories/accessory-2.svg b/svg/parts/accessories/accessory-2.svg index 9c0b2ae7..c7c140cd 100644 --- a/svg/parts/accessories/accessory-2.svg +++ b/svg/parts/accessories/accessory-2.svg @@ -1,21 +1,8 @@ - - - - - + + + + \ No newline at end of file From fe589a1fa87cf60e254851e31c94f96244837f4b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:18 -0700 Subject: [PATCH 0149/2079] style: inline styles for GitHub rendering --- svg/parts/accessories/accessory-3.svg | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/svg/parts/accessories/accessory-3.svg b/svg/parts/accessories/accessory-3.svg index 7a4b01df..8066c7d0 100644 --- a/svg/parts/accessories/accessory-3.svg +++ b/svg/parts/accessories/accessory-3.svg @@ -1,20 +1,7 @@ - - - - + + + \ No newline at end of file From e2463ef85aa9e1776efb6fd8c3d0ce804edbf5d9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:18 -0700 Subject: [PATCH 0150/2079] style: inline styles for GitHub rendering --- svg/parts/accessories/accessory-4.svg | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/svg/parts/accessories/accessory-4.svg b/svg/parts/accessories/accessory-4.svg index a26b7397..fe8f129f 100644 --- a/svg/parts/accessories/accessory-4.svg +++ b/svg/parts/accessories/accessory-4.svg @@ -1,19 +1,6 @@ - - - + + \ No newline at end of file From 7c43527153ad85f6e494dd8d3a47d5a443cd3180 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:18 -0700 Subject: [PATCH 0151/2079] style: inline styles for GitHub rendering --- svg/parts/accessories/accessory-5.svg | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/svg/parts/accessories/accessory-5.svg b/svg/parts/accessories/accessory-5.svg index 941b6796..115202d6 100644 --- a/svg/parts/accessories/accessory-5.svg +++ b/svg/parts/accessories/accessory-5.svg @@ -1,21 +1,8 @@ - - - - - + + + + \ No newline at end of file From 0343357c9174916c86d41322ac275d719a1f4e15 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:19 -0700 Subject: [PATCH 0152/2079] style: inline styles for GitHub rendering --- svg/parts/accessories/accessory-6.svg | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/svg/parts/accessories/accessory-6.svg b/svg/parts/accessories/accessory-6.svg index 9f95bbae..f430003d 100644 --- a/svg/parts/accessories/accessory-6.svg +++ b/svg/parts/accessories/accessory-6.svg @@ -1,20 +1,7 @@ - - - - + + + \ No newline at end of file From 6b807fdaadc69033e6193236b8106c8bd6cd8d18 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:19 -0700 Subject: [PATCH 0153/2079] style: inline styles for GitHub rendering --- svg/parts/accessories/accessory-7.svg | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/svg/parts/accessories/accessory-7.svg b/svg/parts/accessories/accessory-7.svg index 89b02422..c0fbb96e 100644 --- a/svg/parts/accessories/accessory-7.svg +++ b/svg/parts/accessories/accessory-7.svg @@ -1,20 +1,7 @@ - - - - + + + \ No newline at end of file From 0bc788962fa8588212e1eac6a4cfec6783cee0b9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:20 -0700 Subject: [PATCH 0154/2079] style: inline styles for GitHub rendering --- svg/parts/accessories/accessory-8.svg | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/svg/parts/accessories/accessory-8.svg b/svg/parts/accessories/accessory-8.svg index e673c2ac..17a5c698 100644 --- a/svg/parts/accessories/accessory-8.svg +++ b/svg/parts/accessories/accessory-8.svg @@ -1,18 +1,5 @@ - - + \ No newline at end of file From 3fcd01b7a5ae9a5247ffbbbe361473a97552d7bc Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:16:20 -0700 Subject: [PATCH 0155/2079] style: inline styles for GitHub rendering --- svg/parts/accessories/accessory-9.svg | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/svg/parts/accessories/accessory-9.svg b/svg/parts/accessories/accessory-9.svg index dfd2bc75..f84d356d 100644 --- a/svg/parts/accessories/accessory-9.svg +++ b/svg/parts/accessories/accessory-9.svg @@ -1,19 +1,6 @@ - - - + + \ No newline at end of file From 0d4e7bb6ce5fe89400ef5f75b56ae94f05c4f510 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:18:57 -0700 Subject: [PATCH 0156/2079] fix: remove duplicate SVG attributes for GitHub rendering From 24384a71088fc51fc36a87340a69b9083da83744 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:18:58 -0700 Subject: [PATCH 0157/2079] fix: remove duplicate SVG attributes for GitHub rendering From d3232eaa2dfdea6b095a8933e547b51d3edb7c44 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:18:58 -0700 Subject: [PATCH 0158/2079] fix: remove duplicate SVG attributes for GitHub rendering From 8201d7b0148c6f7768ccd6bde8a913160bdc0ce4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:18:59 -0700 Subject: [PATCH 0159/2079] fix: remove duplicate SVG attributes for GitHub rendering From 4e4680f7cb55d642b66c1dfd13a0f0b495057083 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:18:59 -0700 Subject: [PATCH 0160/2079] fix: remove duplicate SVG attributes for GitHub rendering From dba574d4c0e2a2aba072d0ce85f99bd4d21e8e71 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:00 -0700 Subject: [PATCH 0161/2079] fix: remove duplicate SVG attributes for GitHub rendering From 0036cdb955e29b30e96dab2a534c143737e5d4a8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:00 -0700 Subject: [PATCH 0162/2079] fix: remove duplicate SVG attributes for GitHub rendering From e1ca4b15d10cc6302bd7a7018069f9bb5a0b5eab Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:01 -0700 Subject: [PATCH 0163/2079] fix: remove duplicate SVG attributes for GitHub rendering From 98edeb1a56f7f30e17fa2dd2e02638582f2ff1ac Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:01 -0700 Subject: [PATCH 0164/2079] fix: remove duplicate SVG attributes for GitHub rendering From 27254e79bcb1a6f6f11d6d2755d508b7219a9daf Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:02 -0700 Subject: [PATCH 0165/2079] fix: remove duplicate SVG attributes for GitHub rendering From 2bdda4e697fd1d2147bcaccb1c5aafa930f517a8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:02 -0700 Subject: [PATCH 0166/2079] fix: remove duplicate SVG attributes for GitHub rendering From b7f1c3f8baf6cffc4e914b58bb22031d779570d9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:02 -0700 Subject: [PATCH 0167/2079] fix: remove duplicate SVG attributes for GitHub rendering From b7e6d279b40a0e5976944dccba9e8fd463aabd5b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:03 -0700 Subject: [PATCH 0168/2079] fix: remove duplicate SVG attributes for GitHub rendering From 07f2af5f6747e17c6122e6269213f79b85553e8d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:03 -0700 Subject: [PATCH 0169/2079] fix: remove duplicate SVG attributes for GitHub rendering From 1ddbe58153fa80b596ede25190fe6b17e8ec72d3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:04 -0700 Subject: [PATCH 0170/2079] fix: remove duplicate SVG attributes for GitHub rendering From 4497945c1ac0a06a3bf57635de7bbe634f25ab02 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:04 -0700 Subject: [PATCH 0171/2079] fix: remove duplicate SVG attributes for GitHub rendering From 61105656d50744824f5c1cea1fa0a8dcb1a165bd Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:04 -0700 Subject: [PATCH 0172/2079] fix: remove duplicate SVG attributes for GitHub rendering From 2594b6406d033e5e2bbc4f173050537af6cdaeb3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:05 -0700 Subject: [PATCH 0173/2079] fix: remove duplicate SVG attributes for GitHub rendering From c16eb0682e3b1ced2593375bc95e0c701640c17e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:05 -0700 Subject: [PATCH 0174/2079] fix: remove duplicate SVG attributes for GitHub rendering From 1ea6791f894513a93cf6a2053cad24ebecb62484 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:06 -0700 Subject: [PATCH 0175/2079] fix: remove duplicate SVG attributes for GitHub rendering From 842c3da57b316173fb2ca09b0773695a672f7f0c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:06 -0700 Subject: [PATCH 0176/2079] fix: remove duplicate SVG attributes for GitHub rendering From 4670a4ad2feeedd29496d11bf68469d85d56673b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:06 -0700 Subject: [PATCH 0177/2079] fix: remove duplicate SVG attributes for GitHub rendering From 7e78a251a9b1356a36f91c36855a0023e5e338ee Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:07 -0700 Subject: [PATCH 0178/2079] fix: remove duplicate SVG attributes for GitHub rendering From bb18df392fa9351242eca694c0b93359dbd13c72 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:07 -0700 Subject: [PATCH 0179/2079] fix: remove duplicate SVG attributes for GitHub rendering From ca63278e7e6e625763c9fffd289038319d86435e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:08 -0700 Subject: [PATCH 0180/2079] fix: remove duplicate SVG attributes for GitHub rendering From 876a5296a1e87b4c11af2000c4a212282df14b65 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:08 -0700 Subject: [PATCH 0181/2079] fix: remove duplicate SVG attributes for GitHub rendering From 35b09b52fc0868b7bc8e2f95ae757ee669b2f098 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:09 -0700 Subject: [PATCH 0182/2079] fix: remove duplicate SVG attributes for GitHub rendering From 3890bd3877f269af8273bfd205a20177b94efcbe Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:09 -0700 Subject: [PATCH 0183/2079] fix: remove duplicate SVG attributes for GitHub rendering From 1d0b03fb2fc7c08a44bdd9697c1c61049f242f1c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:09 -0700 Subject: [PATCH 0184/2079] fix: remove duplicate SVG attributes for GitHub rendering From 67bbf2a209652514f556c80c3fe0c375c11be644 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:10 -0700 Subject: [PATCH 0185/2079] fix: remove duplicate SVG attributes for GitHub rendering From babe56ba501d04f0936fa01cdc03b232c8c8d30f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:10 -0700 Subject: [PATCH 0186/2079] fix: remove duplicate SVG attributes for GitHub rendering --- svg/parts/mouths/mouth-0.svg | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/svg/parts/mouths/mouth-0.svg b/svg/parts/mouths/mouth-0.svg index 5d7ad5d5..ce1ea057 100644 --- a/svg/parts/mouths/mouth-0.svg +++ b/svg/parts/mouths/mouth-0.svg @@ -2,8 +2,8 @@ - - - + + + \ No newline at end of file From 05a1e5cea9984ba98f6cf695febccf830b07d39b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:11 -0700 Subject: [PATCH 0187/2079] fix: remove duplicate SVG attributes for GitHub rendering --- svg/parts/mouths/mouth-1.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts/mouths/mouth-1.svg b/svg/parts/mouths/mouth-1.svg index 90213bcb..869118ba 100644 --- a/svg/parts/mouths/mouth-1.svg +++ b/svg/parts/mouths/mouth-1.svg @@ -1,5 +1,5 @@ - + \ No newline at end of file From ec8e4868352b1a3f167fbc0ccf88c9ec4c42ec83 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:11 -0700 Subject: [PATCH 0188/2079] fix: remove duplicate SVG attributes for GitHub rendering From d1a262cfc89b877cf86c06db0d2ce6ffe53bd4a3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:11 -0700 Subject: [PATCH 0189/2079] fix: remove duplicate SVG attributes for GitHub rendering --- svg/parts/mouths/mouth-3.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts/mouths/mouth-3.svg b/svg/parts/mouths/mouth-3.svg index 16c5b438..7ba3eec6 100644 --- a/svg/parts/mouths/mouth-3.svg +++ b/svg/parts/mouths/mouth-3.svg @@ -1,5 +1,5 @@ - + \ No newline at end of file From e43ef40b446eefdad6ac47aa9bcf0b4f16dfa3a4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:12 -0700 Subject: [PATCH 0190/2079] fix: remove duplicate SVG attributes for GitHub rendering From f77fcdbb87411143eec4a205db373f64f48e7f6a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:12 -0700 Subject: [PATCH 0191/2079] fix: remove duplicate SVG attributes for GitHub rendering From a635adf05634d712ba2ece5f232dbdd16563877f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:13 -0700 Subject: [PATCH 0192/2079] fix: remove duplicate SVG attributes for GitHub rendering --- svg/parts/mouths/mouth-6.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts/mouths/mouth-6.svg b/svg/parts/mouths/mouth-6.svg index 77726cc8..c7ebace9 100644 --- a/svg/parts/mouths/mouth-6.svg +++ b/svg/parts/mouths/mouth-6.svg @@ -1,5 +1,5 @@ - + \ No newline at end of file From 342a090aa1acdf7ad30c625b65c72019dfc6a52b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:13 -0700 Subject: [PATCH 0193/2079] fix: remove duplicate SVG attributes for GitHub rendering From 355e78cfc8ad4cbeb6d322cb31fa458d0a5ec78f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:14 -0700 Subject: [PATCH 0194/2079] fix: remove duplicate SVG attributes for GitHub rendering --- svg/parts/mouths/mouth-8.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts/mouths/mouth-8.svg b/svg/parts/mouths/mouth-8.svg index b0eab837..3f401b6e 100644 --- a/svg/parts/mouths/mouth-8.svg +++ b/svg/parts/mouths/mouth-8.svg @@ -1,5 +1,5 @@ - + \ No newline at end of file From 316addb81a096dbdd8fb86452b889deaefde033c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:14 -0700 Subject: [PATCH 0195/2079] fix: remove duplicate SVG attributes for GitHub rendering From 0205c1d8ffd228eda8983a3351cb8922ca96588e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:14 -0700 Subject: [PATCH 0196/2079] fix: remove duplicate SVG attributes for GitHub rendering From c6fe2692b425b510c00629d2b719fda99fd05d37 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:15 -0700 Subject: [PATCH 0197/2079] fix: remove duplicate SVG attributes for GitHub rendering --- svg/parts/accessories/accessory-1.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts/accessories/accessory-1.svg b/svg/parts/accessories/accessory-1.svg index 478bd854..ff41eb69 100644 --- a/svg/parts/accessories/accessory-1.svg +++ b/svg/parts/accessories/accessory-1.svg @@ -1,6 +1,6 @@ - + \ No newline at end of file From a0b5569c67afc8ddb48f22c2f49dd4776b45a7d3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:15 -0700 Subject: [PATCH 0198/2079] fix: remove duplicate SVG attributes for GitHub rendering From 502b46af296c84914f338e59f768d6b3469f0336 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:16 -0700 Subject: [PATCH 0199/2079] fix: remove duplicate SVG attributes for GitHub rendering From f3169f6f5822eb1299809a0ef8dd8c6475b421ba Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:16 -0700 Subject: [PATCH 0200/2079] fix: remove duplicate SVG attributes for GitHub rendering --- svg/parts/accessories/accessory-4.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts/accessories/accessory-4.svg b/svg/parts/accessories/accessory-4.svg index fe8f129f..aa7494c3 100644 --- a/svg/parts/accessories/accessory-4.svg +++ b/svg/parts/accessories/accessory-4.svg @@ -1,6 +1,6 @@ - + \ No newline at end of file From d35abf7be725442511592dda7279ff67d8c3147d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:16 -0700 Subject: [PATCH 0201/2079] fix: remove duplicate SVG attributes for GitHub rendering --- svg/parts/accessories/accessory-5.svg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/svg/parts/accessories/accessory-5.svg b/svg/parts/accessories/accessory-5.svg index 115202d6..a35662f4 100644 --- a/svg/parts/accessories/accessory-5.svg +++ b/svg/parts/accessories/accessory-5.svg @@ -1,7 +1,7 @@ - - + + From 6692d7bba6c00bb5b4575321a710022eff44e2af Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:17 -0700 Subject: [PATCH 0202/2079] fix: remove duplicate SVG attributes for GitHub rendering --- svg/parts/accessories/accessory-6.svg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/svg/parts/accessories/accessory-6.svg b/svg/parts/accessories/accessory-6.svg index f430003d..2d4c2be6 100644 --- a/svg/parts/accessories/accessory-6.svg +++ b/svg/parts/accessories/accessory-6.svg @@ -1,7 +1,7 @@ - - + + \ No newline at end of file From 6e33ca18de34cc3dd6fa0f7e9009edc367460bfa Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:17 -0700 Subject: [PATCH 0203/2079] fix: remove duplicate SVG attributes for GitHub rendering --- svg/parts/accessories/accessory-7.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts/accessories/accessory-7.svg b/svg/parts/accessories/accessory-7.svg index c0fbb96e..63b70c36 100644 --- a/svg/parts/accessories/accessory-7.svg +++ b/svg/parts/accessories/accessory-7.svg @@ -1,7 +1,7 @@ - + \ No newline at end of file From b1052d4b2b90b11f9d679f09843134721f310e3e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:18 -0700 Subject: [PATCH 0204/2079] fix: remove duplicate SVG attributes for GitHub rendering From 00b2481154fc1a8e0ac73f2bf98e22d7e5fd07c4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Mon, 16 Feb 2026 23:19:18 -0700 Subject: [PATCH 0205/2079] fix: remove duplicate SVG attributes for GitHub rendering --- svg/parts/accessories/accessory-9.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts/accessories/accessory-9.svg b/svg/parts/accessories/accessory-9.svg index f84d356d..a4ca14d1 100644 --- a/svg/parts/accessories/accessory-9.svg +++ b/svg/parts/accessories/accessory-9.svg @@ -1,6 +1,6 @@ - + \ No newline at end of file From c8a16dc1bc482923306ae66e8b79535e17ee218d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 08:17:15 -0700 Subject: [PATCH 0206/2079] fix: recolor inline styles from hash bits instead of CSS classes --- src/svg-render.js | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/src/svg-render.js b/src/svg-render.js index 4f6ce145..36ddf1fc 100644 --- a/src/svg-render.js +++ b/src/svg-render.js @@ -48,6 +48,30 @@ function generateStyles(mainHue, accentHue) { `; } +/** + * Replace placeholder inline colors with hash-derived colors + * Templates use fixed colors for standalone viewing; renderer swaps them + * @param {string} content - SVG content with placeholder colors + * @param {number} mainHue - Main hue + * @param {number} accentHue - Accent hue + * @returns {string} Recolored SVG content + */ +export function recolor(content, mainHue, accentHue) { + const outline = `hsl(${mainHue}, 15%, 20%)`; + const fill = `hsl(${mainHue}, 70%, 50%)`; + const highlight = `hsl(${mainHue}, 60%, 70%)`; + const shadow = `hsl(${mainHue}, 70%, 35%)`; + const accent = `hsl(${accentHue}, 85%, 60%)`; + + return content + .replaceAll('#1a1a1a', outline) + .replaceAll('#ffffff', fill) + .replaceAll('#4ade80', highlight) + .replaceAll('#d1d5db', shadow) + .replaceAll('#ef4444', accent) + .replaceAll('#3b82f6', accent); +} + /** * Extract inner SVG content from a part template string * @param {string} svgString - Full SVG file content @@ -72,11 +96,11 @@ export function composeSvg(parts, buckets) { const accentHue = COLOR_HUES[emColor] || 45; const styles = generateStyles(mainHue, accentHue); - const headContent = extractContent(parts.head); - const bodyContent = extractContent(parts.body); - const eyeContent = extractContent(parts.eyes); - const mouthContent = extractContent(parts.mouth); - const accContent = extractContent(parts.accessory); + const headContent = recolor(extractContent(parts.head), mainHue, accentHue); + const bodyContent = recolor(extractContent(parts.body), mainHue, accentHue); + const eyeContent = recolor(extractContent(parts.eyes), mainHue, accentHue); + const mouthContent = recolor(extractContent(parts.mouth), mainHue, accentHue); + const accContent = recolor(extractContent(parts.accessory), mainHue, accentHue); return ` ${styles} From 3c6f1d004f8ed32c36cc89cbb449ca8202a9b66a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 08:17:15 -0700 Subject: [PATCH 0207/2079] fix: recolor inline styles from hash bits instead of CSS classes --- svg/preview.html | 51 ++++++++++++++++++++++-------------------------- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/svg/preview.html b/svg/preview.html index cef656e8..29d102eb 100644 --- a/svg/preview.html +++ b/svg/preview.html @@ -149,30 +149,36 @@

Parts Library

return match ? match[1] : ''; } +// Replace placeholder colors in SVG content with hash-derived colors +function recolor(content, mainHue, accentHue) { + const outline = `hsl(${mainHue}, 15%, 20%)`; + const fill = `hsl(${mainHue}, 70%, 50%)`; + const highlight = `hsl(${mainHue}, 60%, 70%)`; + const shadow = `hsl(${mainHue}, 70%, 35%)`; + const accent = `hsl(${accentHue}, 85%, 60%)`; + + return content + .replaceAll('#1a1a1a', outline) // outline + .replaceAll('#ffffff', fill) // fill + .replaceAll('#4ade80', highlight) // highlight + .replaceAll('#d1d5db', shadow) // shadow + .replaceAll('#ef4444', accent) // accent + .replaceAll('#3b82f6', accent); // accent2 (use accent for now) +} + function composeSvg(buckets) { const [bodyStyle, headStyle, eyeStyle, mouthStyle, accStyle, bhColor, emColor, accColor] = buckets; const mainHue = COLOR_HUES[bhColor] || 120; const accentHue = COLOR_HUES[emColor] || 45; - const head = extractContent(parts.heads[headStyle] || ''); - const body = extractContent(parts.bodies[bodyStyle] || ''); - const eyes = extractContent(parts.eyes[eyeStyle] || ''); - const mouth = extractContent(parts.mouths[mouthStyle] || ''); - const acc = extractContent(parts.accessories[accStyle] || ''); + const head = recolor(extractContent(parts.heads[headStyle] || ''), mainHue, accentHue); + const body = recolor(extractContent(parts.bodies[bodyStyle] || ''), mainHue, accentHue); + const eyes = recolor(extractContent(parts.eyes[eyeStyle] || ''), mainHue, accentHue); + const mouth = recolor(extractContent(parts.mouths[mouthStyle] || ''), mainHue, accentHue); + const acc = recolor(extractContent(parts.accessories[accStyle] || ''), mainHue, accentHue); return ` - ${body} ${head} @@ -237,20 +243,9 @@

Parts Library

const singular = PART_SINGULAR[type]; let html = `

${type}

`; for (let i = 0; i < 10; i++) { - const content = extractContent(parts[type][i] || ''); + const content = recolor(extractContent(parts[type][i] || ''), mainHue, accentHue); html += `
- ${content}
${singular}-${i}
From 257bae18eee945fb2d533885a4c15e3fb5d690bb Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 08:18:06 -0700 Subject: [PATCH 0208/2079] feat: live render on typing, remove Generate button --- svg/preview.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/svg/preview.html b/svg/preview.html index 29d102eb..e1746709 100644 --- a/svg/preview.html +++ b/svg/preview.html @@ -85,7 +85,6 @@

Deterministic robot avatars — 2^128 unique combinations


-
@@ -262,6 +261,9 @@

Parts Library

renderGallery(); renderColorStrip(); renderPartsLibrary(); + +// Live render on typing +document.getElementById('hashInput').addEventListener('input', () => window.renderFromInput()); From 31026925c1b450ce4d9ada68a0db6dc5552fb407 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 08:20:36 -0700 Subject: [PATCH 0209/2079] fix: parts library shows stock template colors --- svg/preview.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/preview.html b/svg/preview.html index e1746709..4d402786 100644 --- a/svg/preview.html +++ b/svg/preview.html @@ -242,7 +242,7 @@

Parts Library

const singular = PART_SINGULAR[type]; let html = `

${type}

`; for (let i = 0; i < 10; i++) { - const content = recolor(extractContent(parts[type][i] || ''), mainHue, accentHue); + const content = extractContent(parts[type][i] || ''); html += `
${content} From 87e7e4604aecdd0d68accba82a135721cd538f74 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 08:29:38 -0700 Subject: [PATCH 0210/2079] fix: match sprite sheet colors exactly --- src/svg-render.js | 54 +++++++++++++++++++++++++++++------------------ 1 file changed, 34 insertions(+), 20 deletions(-) diff --git a/src/svg-render.js b/src/svg-render.js index 36ddf1fc..0c046601 100644 --- a/src/svg-render.js +++ b/src/svg-render.js @@ -6,10 +6,21 @@ */ /** - * Color palette mapping bucket index (0-9) to hue degrees - * Matches the sprite sheet color groups + * Color palette sampled from sprite sheet color groups + * Each entry has { h, s, l } matching the actual set1.png colors */ -const COLOR_HUES = [200, 180, 270, 0, 190, 30, 45, 120, 220, 25]; +const COLORS = [ + { h: 198, s: 75, l: 51 }, // 0: Blue + { h: 26, s: 40, l: 39 }, // 1: Brown + { h: 129, s: 53, l: 46 }, // 2: Green + { h: 216, s: 3, l: 66 }, // 3: Gray + { h: 32, s: 92, l: 54 }, // 4: Orange + { h: 331, s: 100,l: 64 }, // 5: Pink + { h: 301, s: 57, l: 36 }, // 6: Purple + { h: 358, s: 85, l: 52 }, // 7: Red + { h: 240, s: 4, l: 95 }, // 8: Near-white + { h: 56, s: 94, l: 58 }, // 9: Yellow +]; /** * Derive a full color scheme from a hue value @@ -56,20 +67,23 @@ function generateStyles(mainHue, accentHue) { * @param {number} accentHue - Accent hue * @returns {string} Recolored SVG content */ -export function recolor(content, mainHue, accentHue) { - const outline = `hsl(${mainHue}, 15%, 20%)`; - const fill = `hsl(${mainHue}, 70%, 50%)`; - const highlight = `hsl(${mainHue}, 60%, 70%)`; - const shadow = `hsl(${mainHue}, 70%, 35%)`; - const accent = `hsl(${accentHue}, 85%, 60%)`; +export function recolor(content, main, accent) { + const m = typeof main === 'number' ? (COLORS[main] || COLORS[0]) : main; + const a = typeof accent === 'number' ? (COLORS[accent] || COLORS[9]) : accent; + + const outline = `hsl(${m.h}, ${Math.max(m.s - 40, 10)}%, ${Math.max(m.l - 30, 12)}%)`; + const fill = `hsl(${m.h}, ${m.s}%, ${m.l}%)`; + const highlight = `hsl(${m.h}, ${Math.max(m.s - 15, 10)}%, ${Math.min(m.l + 20, 85)}%)`; + const shadow = `hsl(${m.h}, ${m.s}%, ${Math.max(m.l - 15, 20)}%)`; + const accentFill = `hsl(${a.h}, ${a.s}%, ${a.l}%)`; return content .replaceAll('#1a1a1a', outline) .replaceAll('#ffffff', fill) .replaceAll('#4ade80', highlight) .replaceAll('#d1d5db', shadow) - .replaceAll('#ef4444', accent) - .replaceAll('#3b82f6', accent); + .replaceAll('#ef4444', accentFill) + .replaceAll('#3b82f6', accentFill); } /** @@ -92,15 +106,15 @@ function extractContent(svgString) { export function composeSvg(parts, buckets) { const [,,,, , bhColor, emColor] = buckets; - const mainHue = COLOR_HUES[bhColor] || 120; - const accentHue = COLOR_HUES[emColor] || 45; - const styles = generateStyles(mainHue, accentHue); + const main = COLORS[bhColor] || COLORS[0]; + const accent = COLORS[emColor] || COLORS[9]; + const styles = generateStyles(main.h, accent.h); - const headContent = recolor(extractContent(parts.head), mainHue, accentHue); - const bodyContent = recolor(extractContent(parts.body), mainHue, accentHue); - const eyeContent = recolor(extractContent(parts.eyes), mainHue, accentHue); - const mouthContent = recolor(extractContent(parts.mouth), mainHue, accentHue); - const accContent = recolor(extractContent(parts.accessory), mainHue, accentHue); + const headContent = recolor(extractContent(parts.head), main, accent); + const bodyContent = recolor(extractContent(parts.body), main, accent); + const eyeContent = recolor(extractContent(parts.eyes), main, accent); + const mouthContent = recolor(extractContent(parts.mouth), main, accent); + const accContent = recolor(extractContent(parts.accessory), main, accent); return ` ${styles} @@ -117,4 +131,4 @@ export function composeSvg(parts, buckets) { /** * Color hues exported for external use */ -export { COLOR_HUES, colorScheme, generateStyles, extractContent }; +export { COLORS, colorScheme, generateStyles, extractContent }; From 8dd8233a3ae9735205498836be1f4444b4ccd5ff Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 08:29:39 -0700 Subject: [PATCH 0211/2079] fix: match sprite sheet colors exactly --- src/svg-render.test.js | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/src/svg-render.test.js b/src/svg-render.test.js index e51b8a80..32b0f47a 100644 --- a/src/svg-render.test.js +++ b/src/svg-render.test.js @@ -1,17 +1,21 @@ import { describe, it, expect } from 'vitest'; -import { composeSvg, COLOR_HUES, colorScheme, generateStyles, extractContent } from './svg-render.js'; +import { composeSvg, COLORS, colorScheme, generateStyles, extractContent } from './svg-render.js'; import fs from 'fs'; import path from 'path'; -describe('COLOR_HUES', () => { - it('should have 10 color hues', () => { - expect(COLOR_HUES).toHaveLength(10); +describe('COLORS', () => { + it('should have 10 color entries', () => { + expect(COLORS).toHaveLength(10); }); - it('should all be valid hue values (0-360)', () => { - COLOR_HUES.forEach(hue => { - expect(hue).toBeGreaterThanOrEqual(0); - expect(hue).toBeLessThanOrEqual(360); + it('should all have valid h, s, l values', () => { + COLORS.forEach(c => { + expect(c.h).toBeGreaterThanOrEqual(0); + expect(c.h).toBeLessThanOrEqual(360); + expect(c.s).toBeGreaterThanOrEqual(0); + expect(c.s).toBeLessThanOrEqual(100); + expect(c.l).toBeGreaterThanOrEqual(0); + expect(c.l).toBeLessThanOrEqual(100); }); }); }); @@ -128,11 +132,11 @@ describe('composeSvg', () => { }); it('should include style block with colors', () => { - const buckets = [0, 0, 0, 0, 0, 7, 0, 0]; // bhColor=7 → hue 120 (green) + const buckets = [0, 0, 0, 0, 0, 7, 0, 0]; // bhColor=7 → Red (hsl 358) const parts = loadPartsForBuckets(buckets); const svg = composeSvg(parts, buckets); expect(svg).toContain('

Parts Library

From f1edaa1b7c0964f6ee4d94a9ddd8898d82e9fa7b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 09:23:05 -0700 Subject: [PATCH 0367/2079] fix: eyes/mouth use accent color, accessories use accColor --- svg/preview.html | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/svg/preview.html b/svg/preview.html index f5c7c44a..b7e54791 100644 --- a/svg/preview.html +++ b/svg/preview.html @@ -212,13 +212,17 @@

Parts Library

const [bodyStyle, headStyle, eyeStyle, mouthStyle, accStyle, bhColor, emColor, accColor] = buckets; const main = COLORS[bhColor] || COLORS[0]; - const accent = COLORS[emColor] || COLORS[9]; + const emAccent = COLORS[emColor] || COLORS[9]; + const accAccent = COLORS[accColor] || COLORS[8]; - const head = recolor(extractContent(parts.heads[headStyle] || ''), main, accent); - const body = recolor(extractContent(parts.bodies[bodyStyle] || ''), main, accent); - const eyes = recolor(extractContent(parts.eyes[eyeStyle] || ''), main, accent); - const mouth = recolor(extractContent(parts.mouths[mouthStyle] || ''), main, accent); - const acc = recolor(extractContent(parts.accessories[accStyle] || ''), main, accent); + // Body and head use main color + const head = recolor(extractContent(parts.heads[headStyle] || ''), main, emAccent); + const body = recolor(extractContent(parts.bodies[bodyStyle] || ''), main, emAccent); + // Eyes and mouth use emColor as PRIMARY so they stand out against head + const eyes = recolor(extractContent(parts.eyes[eyeStyle] || ''), emAccent, main); + const mouth = recolor(extractContent(parts.mouths[mouthStyle] || ''), emAccent, main); + // Accessories use accColor as primary + const acc = recolor(extractContent(parts.accessories[accStyle] || ''), accAccent, main); // Traced SVGs use 600x600 coords, hand-drawn use 300x300 const vb = partsSource === 'traced' ? '0 0 600 600' : '0 0 300 300'; From 7468060be08a9f61e34f579ee766ffaa09f939f9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 09:29:34 -0700 Subject: [PATCH 0368/2079] fix: add contrasting stroke to eyes/mouths, improve color mapping --- svg/preview.html | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/svg/preview.html b/svg/preview.html index b7e54791..9049234b 100644 --- a/svg/preview.html +++ b/svg/preview.html @@ -194,8 +194,6 @@

Parts Library

const shadow = `hsl(${main.h}, ${main.s}%, ${Math.max(main.l - 15, 20)}%)`; const accentFill = `hsl(${accent.h}, ${accent.s}%, ${accent.l}%)`; - // Traced SVGs use 5 placeholders mapped by luminance percentile - // Hand-drawn use the original 6 placeholders const darkAccent = `hsl(${main.h}, ${main.s}%, ${Math.max(main.l - 15, 20)}%)`; const midFill = `hsl(${main.h}, ${main.s}%, ${main.l}%)`; @@ -208,6 +206,14 @@

Parts Library

.replaceAll('#d1d5db', shadow); } +// Add visible outline stroke to small parts (eyes, mouths) +function addStroke(content, strokeColor) { + // Replace stroke colors with a contrasting outline and increase stroke width + return content + .replace(/stroke="[^"]*"/g, `stroke="${strokeColor}"`) + .replace(/stroke-width="[^"]*"/g, 'stroke-width="3"'); +} + function composeSvg(buckets) { const [bodyStyle, headStyle, eyeStyle, mouthStyle, accStyle, bhColor, emColor, accColor] = buckets; @@ -218,10 +224,12 @@

Parts Library

// Body and head use main color const head = recolor(extractContent(parts.heads[headStyle] || ''), main, emAccent); const body = recolor(extractContent(parts.bodies[bodyStyle] || ''), main, emAccent); - // Eyes and mouth use emColor as PRIMARY so they stand out against head - const eyes = recolor(extractContent(parts.eyes[eyeStyle] || ''), emAccent, main); - const mouth = recolor(extractContent(parts.mouths[mouthStyle] || ''), emAccent, main); - // Accessories use accColor as primary + // Eyes and mouth use emColor — also add contrasting outline stroke + const eyeOutline = `hsl(${emAccent.h}, ${Math.max(emAccent.s - 40, 10)}%, ${Math.max(emAccent.l - 30, 8)}%)`; + const eyes = addStroke(recolor(extractContent(parts.eyes[eyeStyle] || ''), emAccent, main), eyeOutline); + const mouthOutline = `hsl(${emAccent.h}, ${Math.max(emAccent.s - 40, 10)}%, ${Math.max(emAccent.l - 30, 8)}%)`; + const mouth = addStroke(recolor(extractContent(parts.mouths[mouthStyle] || ''), emAccent, main), mouthOutline); + // Accessories use accColor const acc = recolor(extractContent(parts.accessories[accStyle] || ''), accAccent, main); // Traced SVGs use 600x600 coords, hand-drawn use 300x300 From 517a1d509ce61a03daacb488879fc3552bef4c06 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 09:30:17 -0700 Subject: [PATCH 0369/2079] fix: use dark body outline for eyes/mouth/accessory strokes --- svg/preview.html | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/svg/preview.html b/svg/preview.html index 9049234b..4b9d5459 100644 --- a/svg/preview.html +++ b/svg/preview.html @@ -224,13 +224,13 @@

Parts Library

// Body and head use main color const head = recolor(extractContent(parts.heads[headStyle] || ''), main, emAccent); const body = recolor(extractContent(parts.bodies[bodyStyle] || ''), main, emAccent); - // Eyes and mouth use emColor — also add contrasting outline stroke - const eyeOutline = `hsl(${emAccent.h}, ${Math.max(emAccent.s - 40, 10)}%, ${Math.max(emAccent.l - 30, 8)}%)`; - const eyes = addStroke(recolor(extractContent(parts.eyes[eyeStyle] || ''), emAccent, main), eyeOutline); - const mouthOutline = `hsl(${emAccent.h}, ${Math.max(emAccent.s - 40, 10)}%, ${Math.max(emAccent.l - 30, 8)}%)`; - const mouth = addStroke(recolor(extractContent(parts.mouths[mouthStyle] || ''), emAccent, main), mouthOutline); - // Accessories use accColor - const acc = recolor(extractContent(parts.accessories[accStyle] || ''), accAccent, main); + // Dark outline derived from main body color — shared across ALL parts + const darkOutline = `hsl(${main.h}, ${Math.max(main.s - 40, 10)}%, ${Math.max(main.l - 30, 8)}%)`; + // Eyes/mouth use emColor as fill, dark outline for stroke + const eyes = addStroke(recolor(extractContent(parts.eyes[eyeStyle] || ''), emAccent, main), darkOutline); + const mouth = addStroke(recolor(extractContent(parts.mouths[mouthStyle] || ''), emAccent, main), darkOutline); + // Accessories use accColor as fill, dark outline for stroke + const acc = addStroke(recolor(extractContent(parts.accessories[accStyle] || ''), accAccent, main), darkOutline); // Traced SVGs use 600x600 coords, hand-drawn use 300x300 const vb = partsSource === 'traced' ? '0 0 600 600' : '0 0 300 300'; From 61987d3547ffcdb8ae2049340f1b1e74faeee15e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:40 -0700 Subject: [PATCH 0370/2079] fix: re-trace body-0 with correct index From b2229e5965f19ce82b5bd80b83c3645199c110ae Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:41 -0700 Subject: [PATCH 0371/2079] fix: re-trace body-1 with correct index From 18cf6749414c66858c14744cebf7b7becf0be3d0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:41 -0700 Subject: [PATCH 0372/2079] fix: re-trace body-2 with correct index From 1691c759c77c4c74a48e4decb0d6f6277971fa74 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:42 -0700 Subject: [PATCH 0373/2079] fix: re-trace body-3 with correct index From f931aa3af39e30343424897897f3781524410248 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:42 -0700 Subject: [PATCH 0374/2079] fix: re-trace body-4 with correct index From 5cfb956b0f39743917b23d4979b61d2bb61ff42b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:43 -0700 Subject: [PATCH 0375/2079] fix: re-trace body-5 with correct index From aaee257a74e677d1e4ce5dd24f9b44cf7df8dd67 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:43 -0700 Subject: [PATCH 0376/2079] fix: re-trace body-6 with correct index From 550b247d94620f8b5e43106f0c19f1efc7ed8511 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:44 -0700 Subject: [PATCH 0377/2079] fix: re-trace body-7 with correct index From 77cac841fdce9e0241f89ddbcbd85ae7075892e8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:44 -0700 Subject: [PATCH 0378/2079] fix: re-trace body-8 with correct index From 9cf2f2b5ac3fa73a0887d075861614186ba915be Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:45 -0700 Subject: [PATCH 0379/2079] fix: re-trace body-9 with correct index From b7f62a267994beb4365ff09fd4e00f46ab167bce Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:45 -0700 Subject: [PATCH 0380/2079] fix: re-trace head-0 with correct index From 131261b8c864bacf9d51c1311bd777439c28b544 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:46 -0700 Subject: [PATCH 0381/2079] fix: re-trace head-1 with correct index From 456fc933b47a37df1553fff844af95f64ec4d9d5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:46 -0700 Subject: [PATCH 0382/2079] fix: re-trace head-2 with correct index From 2cbc99722dc33d8eea633c88c3606990a9b88b17 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:47 -0700 Subject: [PATCH 0383/2079] fix: re-trace head-3 with correct index From 3d1290eec3782bab2a6d68a95c8a032221142a46 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:47 -0700 Subject: [PATCH 0384/2079] fix: re-trace head-4 with correct index From 951f1a62f2070b45e6e3a8e487a0b782f141ce39 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:48 -0700 Subject: [PATCH 0385/2079] fix: re-trace head-5 with correct index From 55a0735f2ad4238b220b41cde5a8e6d1b30fd821 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:48 -0700 Subject: [PATCH 0386/2079] fix: re-trace head-6 with correct index From 95562857ebf7a683207a3f211ff70a6777307645 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:49 -0700 Subject: [PATCH 0387/2079] fix: re-trace head-7 with correct index From 68188d1de162188b902cafcd438b78a6e8763781 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:49 -0700 Subject: [PATCH 0388/2079] fix: re-trace head-8 with correct index From 34e929492f7ca0a4cadc7ad31f64c7d28e3d3f32 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:50 -0700 Subject: [PATCH 0389/2079] fix: re-trace head-9 with correct index From 8512eef0b58455507af7ac5e07c243cae06d3f07 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:50 -0700 Subject: [PATCH 0390/2079] fix: re-trace eye-0 with correct index From f077c30d44ef85e718d63198a3d5c964a7824bc6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:51 -0700 Subject: [PATCH 0391/2079] fix: re-trace eye-1 with correct index From 868e1f4575933ea9e183ef26118ba0c9cb3cf993 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:51 -0700 Subject: [PATCH 0392/2079] fix: re-trace eye-2 with correct index From 68dab55ed6cedb0bcc5c655256b566738577db70 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:52 -0700 Subject: [PATCH 0393/2079] fix: re-trace eye-3 with correct index From 1fc287e206094be256c0cf4923fc94e3fea6002b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:52 -0700 Subject: [PATCH 0394/2079] fix: re-trace eye-4 with correct index From de450bd695f210096fa180d07feaaef6057e4a8a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:52 -0700 Subject: [PATCH 0395/2079] fix: re-trace eye-5 with correct index From b99dc3e06355086df186765ff1be1e685ac32ad1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:53 -0700 Subject: [PATCH 0396/2079] fix: re-trace eye-6 with correct index From 8a909eea431987e0af058d841e824e4009d555de Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:53 -0700 Subject: [PATCH 0397/2079] fix: re-trace eye-7 with correct index From 80d2fc51cc46ac664b55dfd20498cd4c34961bd0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:54 -0700 Subject: [PATCH 0398/2079] fix: re-trace eye-8 with correct index From 7bce2070c72d6fcf5c2df1455278d3646fee49e1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:54 -0700 Subject: [PATCH 0399/2079] fix: re-trace eye-9 with correct index From b0483a86718b3ed710dc2695f71ae4ab3d2d389c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:55 -0700 Subject: [PATCH 0400/2079] fix: re-trace mouth-0 with correct index From 5257f7d4613e15f5220d173a22c8a7eb233067da Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:55 -0700 Subject: [PATCH 0401/2079] fix: re-trace mouth-1 with correct index From ca233966b1d3efd064e176fcfb86ef67c7a1422f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:56 -0700 Subject: [PATCH 0402/2079] fix: re-trace mouth-2 with correct index From 338632ecfad71bfe3bb68d98ad9ba1cd5bdbfd88 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:56 -0700 Subject: [PATCH 0403/2079] fix: re-trace mouth-3 with correct index From 27b674b2e8ed2637caac961fffe5a2b82083f09d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:57 -0700 Subject: [PATCH 0404/2079] fix: re-trace mouth-4 with correct index From 468675c07f951686b04669404f7a21478262ff29 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:57 -0700 Subject: [PATCH 0405/2079] fix: re-trace mouth-5 with correct index From b89dec33298e7eae4620068a90bc641ef3788813 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:57 -0700 Subject: [PATCH 0406/2079] fix: re-trace mouth-6 with correct index From c17a8e67444c4c5581ee4dd946f526dc2d34f5b3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:58 -0700 Subject: [PATCH 0407/2079] fix: re-trace mouth-7 with correct index From 66211fae245a2c6e58803a8114cb9cd4caf49a44 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:58 -0700 Subject: [PATCH 0408/2079] fix: re-trace mouth-8 with correct index From 08547a8712e5a7373b875d63f30f9dbc5dd2bacc Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:59 -0700 Subject: [PATCH 0409/2079] fix: re-trace mouth-9 with correct index From c14d483ebfceaa603cea95d00111d54817089055 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 10:59:59 -0700 Subject: [PATCH 0410/2079] fix: re-trace accessory-0 with correct index From 123672d0d0d6bd4872be45b772d23e530e5dcfad Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:00:00 -0700 Subject: [PATCH 0411/2079] fix: re-trace accessory-1 with correct index From ae2d1337d086526adeab4d97f90a8547e4a52ba7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:00:00 -0700 Subject: [PATCH 0412/2079] fix: re-trace accessory-2 with correct index From c980fd026260c38642fb7cbcb644989f17049458 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:00:01 -0700 Subject: [PATCH 0413/2079] fix: re-trace accessory-3 with correct index From 8d363d0591d1d6924315559cbf2bbcc9e5e8e259 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:00:01 -0700 Subject: [PATCH 0414/2079] fix: re-trace accessory-4 with correct index From 23b40f928e0508f9c85cd7123563b2f94a3d06e5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:00:02 -0700 Subject: [PATCH 0415/2079] fix: re-trace accessory-5 with correct index From 1415f49dc552cf91633c2084e9cf6a7adda0e554 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:00:02 -0700 Subject: [PATCH 0416/2079] fix: re-trace accessory-6 with correct index From f1c83440214089e762b19ad2aaa17d275e081557 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:00:03 -0700 Subject: [PATCH 0417/2079] fix: re-trace accessory-7 with correct index From 545ee03490d8600145d2acdda7ed5913f7a7c201 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:00:03 -0700 Subject: [PATCH 0418/2079] fix: re-trace accessory-8 with correct index From e8a3db644058486ad62b9e7f4325349d4dd4963e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:00:04 -0700 Subject: [PATCH 0419/2079] fix: re-trace accessory-9 with correct index From d6c9964fc02a9893848098ae9bf297edc20ae7fd Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:23 -0700 Subject: [PATCH 0420/2079] feat: 2D traced SVGs (head-0-0.svg) --- svg/parts-traced/heads/head-0-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-0-0.svg diff --git a/svg/parts-traced/heads/head-0-0.svg b/svg/parts-traced/heads/head-0-0.svg new file mode 100644 index 00000000..a40a465d --- /dev/null +++ b/svg/parts-traced/heads/head-0-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From dde82d42aeb706d911d7a98b4e1f02a912727aa3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:24 -0700 Subject: [PATCH 0421/2079] feat: 2D traced SVGs (head-0-1.svg) --- svg/parts-traced/heads/head-0-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-0-1.svg diff --git a/svg/parts-traced/heads/head-0-1.svg b/svg/parts-traced/heads/head-0-1.svg new file mode 100644 index 00000000..5e3b0866 --- /dev/null +++ b/svg/parts-traced/heads/head-0-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From cad3a056653915454a9efe403295e8e9c5c43712 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:25 -0700 Subject: [PATCH 0422/2079] feat: 2D traced SVGs (head-0-2.svg) --- svg/parts-traced/heads/head-0-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-0-2.svg diff --git a/svg/parts-traced/heads/head-0-2.svg b/svg/parts-traced/heads/head-0-2.svg new file mode 100644 index 00000000..d92a9ced --- /dev/null +++ b/svg/parts-traced/heads/head-0-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 29e4ce396a7ef1d63ba707f4a8e1c3895e5e08e0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:25 -0700 Subject: [PATCH 0423/2079] feat: 2D traced SVGs (head-0-3.svg) --- svg/parts-traced/heads/head-0-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-0-3.svg diff --git a/svg/parts-traced/heads/head-0-3.svg b/svg/parts-traced/heads/head-0-3.svg new file mode 100644 index 00000000..3f570078 --- /dev/null +++ b/svg/parts-traced/heads/head-0-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5ae86fee06ab89d93379bbfefc016c5069f2a021 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:26 -0700 Subject: [PATCH 0424/2079] feat: 2D traced SVGs (head-0-4.svg) --- svg/parts-traced/heads/head-0-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-0-4.svg diff --git a/svg/parts-traced/heads/head-0-4.svg b/svg/parts-traced/heads/head-0-4.svg new file mode 100644 index 00000000..5126fd83 --- /dev/null +++ b/svg/parts-traced/heads/head-0-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3f47c7c12b9d42dd4470c0c57abbd6ef1a711e81 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:27 -0700 Subject: [PATCH 0425/2079] feat: 2D traced SVGs (head-0-5.svg) --- svg/parts-traced/heads/head-0-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-0-5.svg diff --git a/svg/parts-traced/heads/head-0-5.svg b/svg/parts-traced/heads/head-0-5.svg new file mode 100644 index 00000000..7f58c2b6 --- /dev/null +++ b/svg/parts-traced/heads/head-0-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From c6f5c88187cbeadd8816b82aa606a2f85046f246 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:27 -0700 Subject: [PATCH 0426/2079] feat: 2D traced SVGs (head-0-6.svg) --- svg/parts-traced/heads/head-0-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-0-6.svg diff --git a/svg/parts-traced/heads/head-0-6.svg b/svg/parts-traced/heads/head-0-6.svg new file mode 100644 index 00000000..23f90828 --- /dev/null +++ b/svg/parts-traced/heads/head-0-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 91d6ce296216e6dd586e11d6bb1d74d93955ee2d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:28 -0700 Subject: [PATCH 0427/2079] feat: 2D traced SVGs (head-0-7.svg) --- svg/parts-traced/heads/head-0-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-0-7.svg diff --git a/svg/parts-traced/heads/head-0-7.svg b/svg/parts-traced/heads/head-0-7.svg new file mode 100644 index 00000000..cc932d0a --- /dev/null +++ b/svg/parts-traced/heads/head-0-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From c73f31bafb0948fd32f5f2d99d9e1bf5b69826ed Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:28 -0700 Subject: [PATCH 0428/2079] feat: 2D traced SVGs (head-0-8.svg) --- svg/parts-traced/heads/head-0-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-0-8.svg diff --git a/svg/parts-traced/heads/head-0-8.svg b/svg/parts-traced/heads/head-0-8.svg new file mode 100644 index 00000000..16de2a9a --- /dev/null +++ b/svg/parts-traced/heads/head-0-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 833f69ce8e4f871ef8e045412e2437899b481ba3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:29 -0700 Subject: [PATCH 0429/2079] feat: 2D traced SVGs (head-0-9.svg) --- svg/parts-traced/heads/head-0-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-0-9.svg diff --git a/svg/parts-traced/heads/head-0-9.svg b/svg/parts-traced/heads/head-0-9.svg new file mode 100644 index 00000000..ab749620 --- /dev/null +++ b/svg/parts-traced/heads/head-0-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 0ebc2e2e245a5e26365c23f88a2bc5ae03e44090 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:30 -0700 Subject: [PATCH 0430/2079] feat: 2D traced SVGs (head-1-0.svg) --- svg/parts-traced/heads/head-1-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-1-0.svg diff --git a/svg/parts-traced/heads/head-1-0.svg b/svg/parts-traced/heads/head-1-0.svg new file mode 100644 index 00000000..b3090072 --- /dev/null +++ b/svg/parts-traced/heads/head-1-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From d5c70ed5f9f1e04c057f5f5af4c203d2ec7ed1f2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:30 -0700 Subject: [PATCH 0431/2079] feat: 2D traced SVGs (head-1-1.svg) --- svg/parts-traced/heads/head-1-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-1-1.svg diff --git a/svg/parts-traced/heads/head-1-1.svg b/svg/parts-traced/heads/head-1-1.svg new file mode 100644 index 00000000..4656307a --- /dev/null +++ b/svg/parts-traced/heads/head-1-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From d5dabbb4739c53be750d31e70e5f433895f99947 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:31 -0700 Subject: [PATCH 0432/2079] feat: 2D traced SVGs (head-1-2.svg) --- svg/parts-traced/heads/head-1-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-1-2.svg diff --git a/svg/parts-traced/heads/head-1-2.svg b/svg/parts-traced/heads/head-1-2.svg new file mode 100644 index 00000000..6697c1d0 --- /dev/null +++ b/svg/parts-traced/heads/head-1-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 59940eeb8d7b058d8a39eb5586ee3cd0b5e12e4f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:31 -0700 Subject: [PATCH 0433/2079] feat: 2D traced SVGs (head-1-3.svg) --- svg/parts-traced/heads/head-1-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-1-3.svg diff --git a/svg/parts-traced/heads/head-1-3.svg b/svg/parts-traced/heads/head-1-3.svg new file mode 100644 index 00000000..de9112aa --- /dev/null +++ b/svg/parts-traced/heads/head-1-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 359f1850ba86e71ca69bbd8868a6221f5c5a9dfc Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:32 -0700 Subject: [PATCH 0434/2079] feat: 2D traced SVGs (head-1-4.svg) --- svg/parts-traced/heads/head-1-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-1-4.svg diff --git a/svg/parts-traced/heads/head-1-4.svg b/svg/parts-traced/heads/head-1-4.svg new file mode 100644 index 00000000..bf47f12e --- /dev/null +++ b/svg/parts-traced/heads/head-1-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 644e433f5e3b4070dec836fa96f369fda0ec08a8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:33 -0700 Subject: [PATCH 0435/2079] feat: 2D traced SVGs (head-1-5.svg) --- svg/parts-traced/heads/head-1-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-1-5.svg diff --git a/svg/parts-traced/heads/head-1-5.svg b/svg/parts-traced/heads/head-1-5.svg new file mode 100644 index 00000000..0cfdec9f --- /dev/null +++ b/svg/parts-traced/heads/head-1-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2666929c58762040b13627ea024dfd92b83e920f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:33 -0700 Subject: [PATCH 0436/2079] feat: 2D traced SVGs (head-1-6.svg) --- svg/parts-traced/heads/head-1-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-1-6.svg diff --git a/svg/parts-traced/heads/head-1-6.svg b/svg/parts-traced/heads/head-1-6.svg new file mode 100644 index 00000000..c39aa44d --- /dev/null +++ b/svg/parts-traced/heads/head-1-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7b6a785bc26674867ebbb8a3d2b71ccaf4b7324b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:34 -0700 Subject: [PATCH 0437/2079] feat: 2D traced SVGs (head-1-7.svg) --- svg/parts-traced/heads/head-1-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-1-7.svg diff --git a/svg/parts-traced/heads/head-1-7.svg b/svg/parts-traced/heads/head-1-7.svg new file mode 100644 index 00000000..5e0590e0 --- /dev/null +++ b/svg/parts-traced/heads/head-1-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 841ab03512b523b12b66c714a09f12e5dadc0689 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:35 -0700 Subject: [PATCH 0438/2079] feat: 2D traced SVGs (head-1-8.svg) --- svg/parts-traced/heads/head-1-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-1-8.svg diff --git a/svg/parts-traced/heads/head-1-8.svg b/svg/parts-traced/heads/head-1-8.svg new file mode 100644 index 00000000..27642824 --- /dev/null +++ b/svg/parts-traced/heads/head-1-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 4667ae8660143c26e58a8dd55fc411e268391d7b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:35 -0700 Subject: [PATCH 0439/2079] feat: 2D traced SVGs (head-1-9.svg) --- svg/parts-traced/heads/head-1-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-1-9.svg diff --git a/svg/parts-traced/heads/head-1-9.svg b/svg/parts-traced/heads/head-1-9.svg new file mode 100644 index 00000000..19449216 --- /dev/null +++ b/svg/parts-traced/heads/head-1-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 0fc283891587a92343ca21459f1a3e507dfebb91 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:36 -0700 Subject: [PATCH 0440/2079] feat: 2D traced SVGs (head-2-0.svg) --- svg/parts-traced/heads/head-2-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-2-0.svg diff --git a/svg/parts-traced/heads/head-2-0.svg b/svg/parts-traced/heads/head-2-0.svg new file mode 100644 index 00000000..691a15f7 --- /dev/null +++ b/svg/parts-traced/heads/head-2-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3e3ebf7ddb5aaa8e37c181e27671d8f5aed783eb Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:36 -0700 Subject: [PATCH 0441/2079] feat: 2D traced SVGs (head-2-1.svg) --- svg/parts-traced/heads/head-2-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-2-1.svg diff --git a/svg/parts-traced/heads/head-2-1.svg b/svg/parts-traced/heads/head-2-1.svg new file mode 100644 index 00000000..1ef77c77 --- /dev/null +++ b/svg/parts-traced/heads/head-2-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From aced77e989d4e8cb513a55bb413622bfc6c1f673 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:37 -0700 Subject: [PATCH 0442/2079] feat: 2D traced SVGs (head-2-2.svg) --- svg/parts-traced/heads/head-2-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-2-2.svg diff --git a/svg/parts-traced/heads/head-2-2.svg b/svg/parts-traced/heads/head-2-2.svg new file mode 100644 index 00000000..08acff31 --- /dev/null +++ b/svg/parts-traced/heads/head-2-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From d1880620f0a5426686e16549aac365f9a87229b8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:38 -0700 Subject: [PATCH 0443/2079] feat: 2D traced SVGs (head-2-3.svg) --- svg/parts-traced/heads/head-2-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-2-3.svg diff --git a/svg/parts-traced/heads/head-2-3.svg b/svg/parts-traced/heads/head-2-3.svg new file mode 100644 index 00000000..ce1b8d28 --- /dev/null +++ b/svg/parts-traced/heads/head-2-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3fa0739d730e2a81e8e43efb62173b46a4d60ea2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:38 -0700 Subject: [PATCH 0444/2079] feat: 2D traced SVGs (head-2-4.svg) --- svg/parts-traced/heads/head-2-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-2-4.svg diff --git a/svg/parts-traced/heads/head-2-4.svg b/svg/parts-traced/heads/head-2-4.svg new file mode 100644 index 00000000..6f082622 --- /dev/null +++ b/svg/parts-traced/heads/head-2-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From c408e83bb447503df8aefb5b991debea97e8f364 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:39 -0700 Subject: [PATCH 0445/2079] feat: 2D traced SVGs (head-2-5.svg) --- svg/parts-traced/heads/head-2-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-2-5.svg diff --git a/svg/parts-traced/heads/head-2-5.svg b/svg/parts-traced/heads/head-2-5.svg new file mode 100644 index 00000000..529b4555 --- /dev/null +++ b/svg/parts-traced/heads/head-2-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From adcf5c9af529ecfe2ced0b178e1fa434ab96c833 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:40 -0700 Subject: [PATCH 0446/2079] feat: 2D traced SVGs (head-2-6.svg) --- svg/parts-traced/heads/head-2-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-2-6.svg diff --git a/svg/parts-traced/heads/head-2-6.svg b/svg/parts-traced/heads/head-2-6.svg new file mode 100644 index 00000000..8dd2e38c --- /dev/null +++ b/svg/parts-traced/heads/head-2-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From b586e242a66bd269aa0a8dc0b11e0a0776a290cd Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:40 -0700 Subject: [PATCH 0447/2079] feat: 2D traced SVGs (head-2-7.svg) --- svg/parts-traced/heads/head-2-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-2-7.svg diff --git a/svg/parts-traced/heads/head-2-7.svg b/svg/parts-traced/heads/head-2-7.svg new file mode 100644 index 00000000..d56b4ba7 --- /dev/null +++ b/svg/parts-traced/heads/head-2-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7af96bd1c45b46a73aa6b4db4f9da30346999a0d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:41 -0700 Subject: [PATCH 0448/2079] feat: 2D traced SVGs (head-2-8.svg) --- svg/parts-traced/heads/head-2-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-2-8.svg diff --git a/svg/parts-traced/heads/head-2-8.svg b/svg/parts-traced/heads/head-2-8.svg new file mode 100644 index 00000000..aa1e4f84 --- /dev/null +++ b/svg/parts-traced/heads/head-2-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7a53579664a554303f4217d58f7aca01e694d769 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:41 -0700 Subject: [PATCH 0449/2079] feat: 2D traced SVGs (head-2-9.svg) --- svg/parts-traced/heads/head-2-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-2-9.svg diff --git a/svg/parts-traced/heads/head-2-9.svg b/svg/parts-traced/heads/head-2-9.svg new file mode 100644 index 00000000..f04641b1 --- /dev/null +++ b/svg/parts-traced/heads/head-2-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From a3e29a5308dd46745d864c4e40562ff93432b5c6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:42 -0700 Subject: [PATCH 0450/2079] feat: 2D traced SVGs (head-3-0.svg) --- svg/parts-traced/heads/head-3-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-3-0.svg diff --git a/svg/parts-traced/heads/head-3-0.svg b/svg/parts-traced/heads/head-3-0.svg new file mode 100644 index 00000000..527c5dd2 --- /dev/null +++ b/svg/parts-traced/heads/head-3-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2f2beb2935e74e24ed463feb025bf97a2b6739df Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:43 -0700 Subject: [PATCH 0451/2079] feat: 2D traced SVGs (head-3-1.svg) --- svg/parts-traced/heads/head-3-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-3-1.svg diff --git a/svg/parts-traced/heads/head-3-1.svg b/svg/parts-traced/heads/head-3-1.svg new file mode 100644 index 00000000..f1b467d5 --- /dev/null +++ b/svg/parts-traced/heads/head-3-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From a71f45d4e846133dffa601c34a571ad67b3da048 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:43 -0700 Subject: [PATCH 0452/2079] feat: 2D traced SVGs (head-3-2.svg) --- svg/parts-traced/heads/head-3-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-3-2.svg diff --git a/svg/parts-traced/heads/head-3-2.svg b/svg/parts-traced/heads/head-3-2.svg new file mode 100644 index 00000000..f3077060 --- /dev/null +++ b/svg/parts-traced/heads/head-3-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2ab256eeb9d868f37915c8b364b5dc015be6a9b1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:44 -0700 Subject: [PATCH 0453/2079] feat: 2D traced SVGs (head-3-3.svg) --- svg/parts-traced/heads/head-3-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-3-3.svg diff --git a/svg/parts-traced/heads/head-3-3.svg b/svg/parts-traced/heads/head-3-3.svg new file mode 100644 index 00000000..7dfbd47e --- /dev/null +++ b/svg/parts-traced/heads/head-3-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5d41cf5000fc3448132a61f192d9b19d30666b20 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:45 -0700 Subject: [PATCH 0454/2079] feat: 2D traced SVGs (head-3-4.svg) --- svg/parts-traced/heads/head-3-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-3-4.svg diff --git a/svg/parts-traced/heads/head-3-4.svg b/svg/parts-traced/heads/head-3-4.svg new file mode 100644 index 00000000..4c4ad38e --- /dev/null +++ b/svg/parts-traced/heads/head-3-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 91e49e089c6fc671337cab2e5a736bf30ac5a42f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:45 -0700 Subject: [PATCH 0455/2079] feat: 2D traced SVGs (head-3-5.svg) --- svg/parts-traced/heads/head-3-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-3-5.svg diff --git a/svg/parts-traced/heads/head-3-5.svg b/svg/parts-traced/heads/head-3-5.svg new file mode 100644 index 00000000..d25dde64 --- /dev/null +++ b/svg/parts-traced/heads/head-3-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 4491207e9510f5a91cb5317d1beb35664af52dc6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:46 -0700 Subject: [PATCH 0456/2079] feat: 2D traced SVGs (head-3-6.svg) --- svg/parts-traced/heads/head-3-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-3-6.svg diff --git a/svg/parts-traced/heads/head-3-6.svg b/svg/parts-traced/heads/head-3-6.svg new file mode 100644 index 00000000..3d2d0cdb --- /dev/null +++ b/svg/parts-traced/heads/head-3-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From fdb2e43b5cdcc842adfee83d9495795af2bdea32 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:46 -0700 Subject: [PATCH 0457/2079] feat: 2D traced SVGs (head-3-7.svg) --- svg/parts-traced/heads/head-3-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-3-7.svg diff --git a/svg/parts-traced/heads/head-3-7.svg b/svg/parts-traced/heads/head-3-7.svg new file mode 100644 index 00000000..30c2b46d --- /dev/null +++ b/svg/parts-traced/heads/head-3-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 08b14423cbe1b57d110ba5936213079532e5dc7a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:47 -0700 Subject: [PATCH 0458/2079] feat: 2D traced SVGs (head-3-8.svg) --- svg/parts-traced/heads/head-3-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-3-8.svg diff --git a/svg/parts-traced/heads/head-3-8.svg b/svg/parts-traced/heads/head-3-8.svg new file mode 100644 index 00000000..e6767ba9 --- /dev/null +++ b/svg/parts-traced/heads/head-3-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 0a11880ebdc49656c3e468f25f79e15a6d58a4f2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:48 -0700 Subject: [PATCH 0459/2079] feat: 2D traced SVGs (head-3-9.svg) --- svg/parts-traced/heads/head-3-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-3-9.svg diff --git a/svg/parts-traced/heads/head-3-9.svg b/svg/parts-traced/heads/head-3-9.svg new file mode 100644 index 00000000..cb95a3ea --- /dev/null +++ b/svg/parts-traced/heads/head-3-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From bc87ea917e203bbef5c8846bbc887f01d06de135 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:48 -0700 Subject: [PATCH 0460/2079] feat: 2D traced SVGs (head-4-0.svg) --- svg/parts-traced/heads/head-4-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-4-0.svg diff --git a/svg/parts-traced/heads/head-4-0.svg b/svg/parts-traced/heads/head-4-0.svg new file mode 100644 index 00000000..341cdf05 --- /dev/null +++ b/svg/parts-traced/heads/head-4-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 42a52749d6b2dd72516f5c6f82fdc9e93883ceff Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:49 -0700 Subject: [PATCH 0461/2079] feat: 2D traced SVGs (head-4-1.svg) --- svg/parts-traced/heads/head-4-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-4-1.svg diff --git a/svg/parts-traced/heads/head-4-1.svg b/svg/parts-traced/heads/head-4-1.svg new file mode 100644 index 00000000..ea6e8ec1 --- /dev/null +++ b/svg/parts-traced/heads/head-4-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From b0a9e90246ba930a14d3e5c628bf7fd663a51cd0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:49 -0700 Subject: [PATCH 0462/2079] feat: 2D traced SVGs (head-4-2.svg) --- svg/parts-traced/heads/head-4-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-4-2.svg diff --git a/svg/parts-traced/heads/head-4-2.svg b/svg/parts-traced/heads/head-4-2.svg new file mode 100644 index 00000000..29ac1dc3 --- /dev/null +++ b/svg/parts-traced/heads/head-4-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5e37676ad5f46fb2324c7f6172470e03cba51f82 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:50 -0700 Subject: [PATCH 0463/2079] feat: 2D traced SVGs (head-4-3.svg) --- svg/parts-traced/heads/head-4-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-4-3.svg diff --git a/svg/parts-traced/heads/head-4-3.svg b/svg/parts-traced/heads/head-4-3.svg new file mode 100644 index 00000000..d43b6680 --- /dev/null +++ b/svg/parts-traced/heads/head-4-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9161b98128415d280c0d326bf922e8850118cf98 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:51 -0700 Subject: [PATCH 0464/2079] feat: 2D traced SVGs (head-4-4.svg) --- svg/parts-traced/heads/head-4-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-4-4.svg diff --git a/svg/parts-traced/heads/head-4-4.svg b/svg/parts-traced/heads/head-4-4.svg new file mode 100644 index 00000000..40bfc1ac --- /dev/null +++ b/svg/parts-traced/heads/head-4-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5ed9e61b486d55f43cca07fbe7df9bf21997419e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:51 -0700 Subject: [PATCH 0465/2079] feat: 2D traced SVGs (head-4-5.svg) --- svg/parts-traced/heads/head-4-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-4-5.svg diff --git a/svg/parts-traced/heads/head-4-5.svg b/svg/parts-traced/heads/head-4-5.svg new file mode 100644 index 00000000..6509bc8e --- /dev/null +++ b/svg/parts-traced/heads/head-4-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 47dc3633d73674e41eb72befba6cec81edbb7524 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:52 -0700 Subject: [PATCH 0466/2079] feat: 2D traced SVGs (head-4-6.svg) --- svg/parts-traced/heads/head-4-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-4-6.svg diff --git a/svg/parts-traced/heads/head-4-6.svg b/svg/parts-traced/heads/head-4-6.svg new file mode 100644 index 00000000..432ec2b5 --- /dev/null +++ b/svg/parts-traced/heads/head-4-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3bc2bdcd86f6355203ada0efed13163e0207c235 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:53 -0700 Subject: [PATCH 0467/2079] feat: 2D traced SVGs (head-4-7.svg) --- svg/parts-traced/heads/head-4-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-4-7.svg diff --git a/svg/parts-traced/heads/head-4-7.svg b/svg/parts-traced/heads/head-4-7.svg new file mode 100644 index 00000000..8dac4c1d --- /dev/null +++ b/svg/parts-traced/heads/head-4-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 045f00a80375762cd83080c3e63e3ad3bfaeae7e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:53 -0700 Subject: [PATCH 0468/2079] feat: 2D traced SVGs (head-4-8.svg) --- svg/parts-traced/heads/head-4-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-4-8.svg diff --git a/svg/parts-traced/heads/head-4-8.svg b/svg/parts-traced/heads/head-4-8.svg new file mode 100644 index 00000000..83d17a65 --- /dev/null +++ b/svg/parts-traced/heads/head-4-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 6c59683af69318047231b9343759882e946955f1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:54 -0700 Subject: [PATCH 0469/2079] feat: 2D traced SVGs (head-4-9.svg) --- svg/parts-traced/heads/head-4-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-4-9.svg diff --git a/svg/parts-traced/heads/head-4-9.svg b/svg/parts-traced/heads/head-4-9.svg new file mode 100644 index 00000000..c3f83a05 --- /dev/null +++ b/svg/parts-traced/heads/head-4-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 924b00ced29b75dbb00f036d7e4698b707055d6d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:54 -0700 Subject: [PATCH 0470/2079] feat: 2D traced SVGs (head-5-0.svg) --- svg/parts-traced/heads/head-5-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-5-0.svg diff --git a/svg/parts-traced/heads/head-5-0.svg b/svg/parts-traced/heads/head-5-0.svg new file mode 100644 index 00000000..dde23763 --- /dev/null +++ b/svg/parts-traced/heads/head-5-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From d10381b0c0a8db794ddb2310d6373c5c20abd4e7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:55 -0700 Subject: [PATCH 0471/2079] feat: 2D traced SVGs (head-5-1.svg) --- svg/parts-traced/heads/head-5-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-5-1.svg diff --git a/svg/parts-traced/heads/head-5-1.svg b/svg/parts-traced/heads/head-5-1.svg new file mode 100644 index 00000000..f18520ee --- /dev/null +++ b/svg/parts-traced/heads/head-5-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9a1892f23ef9955a8f760795a0c048f11d0b8817 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:56 -0700 Subject: [PATCH 0472/2079] feat: 2D traced SVGs (head-5-2.svg) --- svg/parts-traced/heads/head-5-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-5-2.svg diff --git a/svg/parts-traced/heads/head-5-2.svg b/svg/parts-traced/heads/head-5-2.svg new file mode 100644 index 00000000..2ebf40b7 --- /dev/null +++ b/svg/parts-traced/heads/head-5-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 402ac6f02c7867bea0cdeeb216806069e681086f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:56 -0700 Subject: [PATCH 0473/2079] feat: 2D traced SVGs (head-5-3.svg) --- svg/parts-traced/heads/head-5-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-5-3.svg diff --git a/svg/parts-traced/heads/head-5-3.svg b/svg/parts-traced/heads/head-5-3.svg new file mode 100644 index 00000000..12ba42cd --- /dev/null +++ b/svg/parts-traced/heads/head-5-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 448822f7d299a763eb424b070f70267fbc3aeb29 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:57 -0700 Subject: [PATCH 0474/2079] feat: 2D traced SVGs (head-5-4.svg) --- svg/parts-traced/heads/head-5-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-5-4.svg diff --git a/svg/parts-traced/heads/head-5-4.svg b/svg/parts-traced/heads/head-5-4.svg new file mode 100644 index 00000000..39fd396b --- /dev/null +++ b/svg/parts-traced/heads/head-5-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 73ea8708df07dacbe36a4c7a21ab4cf0c7c51416 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:57 -0700 Subject: [PATCH 0475/2079] feat: 2D traced SVGs (head-5-5.svg) --- svg/parts-traced/heads/head-5-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-5-5.svg diff --git a/svg/parts-traced/heads/head-5-5.svg b/svg/parts-traced/heads/head-5-5.svg new file mode 100644 index 00000000..ea5fcd1a --- /dev/null +++ b/svg/parts-traced/heads/head-5-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 49e3dd6f95d6f5a04cd37c964cebd425c935bf91 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:58 -0700 Subject: [PATCH 0476/2079] feat: 2D traced SVGs (head-5-6.svg) --- svg/parts-traced/heads/head-5-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-5-6.svg diff --git a/svg/parts-traced/heads/head-5-6.svg b/svg/parts-traced/heads/head-5-6.svg new file mode 100644 index 00000000..32c849bd --- /dev/null +++ b/svg/parts-traced/heads/head-5-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7da77aa677c514d10ac900576c022a27b8f78be6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:58 -0700 Subject: [PATCH 0477/2079] feat: 2D traced SVGs (head-5-7.svg) --- svg/parts-traced/heads/head-5-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-5-7.svg diff --git a/svg/parts-traced/heads/head-5-7.svg b/svg/parts-traced/heads/head-5-7.svg new file mode 100644 index 00000000..860ae679 --- /dev/null +++ b/svg/parts-traced/heads/head-5-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From df6ec1fe738733cd90f721592d1850ece0d10203 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:34:59 -0700 Subject: [PATCH 0478/2079] feat: 2D traced SVGs (head-5-8.svg) --- svg/parts-traced/heads/head-5-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-5-8.svg diff --git a/svg/parts-traced/heads/head-5-8.svg b/svg/parts-traced/heads/head-5-8.svg new file mode 100644 index 00000000..d9865e5e --- /dev/null +++ b/svg/parts-traced/heads/head-5-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 91deb3652213a976483ef2a6f688ed8f6dc98399 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:00 -0700 Subject: [PATCH 0479/2079] feat: 2D traced SVGs (head-5-9.svg) --- svg/parts-traced/heads/head-5-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-5-9.svg diff --git a/svg/parts-traced/heads/head-5-9.svg b/svg/parts-traced/heads/head-5-9.svg new file mode 100644 index 00000000..890878d8 --- /dev/null +++ b/svg/parts-traced/heads/head-5-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From f059b77dbcaa9e4e1658c1d9fb95eb73c69b98da Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:01 -0700 Subject: [PATCH 0480/2079] feat: 2D traced SVGs (head-6-0.svg) --- svg/parts-traced/heads/head-6-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-6-0.svg diff --git a/svg/parts-traced/heads/head-6-0.svg b/svg/parts-traced/heads/head-6-0.svg new file mode 100644 index 00000000..5e9e7a1e --- /dev/null +++ b/svg/parts-traced/heads/head-6-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 1ccc3e218999c21200526f21a51f66b764d6487f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:01 -0700 Subject: [PATCH 0481/2079] feat: 2D traced SVGs (head-6-1.svg) --- svg/parts-traced/heads/head-6-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-6-1.svg diff --git a/svg/parts-traced/heads/head-6-1.svg b/svg/parts-traced/heads/head-6-1.svg new file mode 100644 index 00000000..06bbf6b2 --- /dev/null +++ b/svg/parts-traced/heads/head-6-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 64aed2016cf516b9c718a32d431aff6b27203c3c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:02 -0700 Subject: [PATCH 0482/2079] feat: 2D traced SVGs (head-6-2.svg) --- svg/parts-traced/heads/head-6-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-6-2.svg diff --git a/svg/parts-traced/heads/head-6-2.svg b/svg/parts-traced/heads/head-6-2.svg new file mode 100644 index 00000000..93ed85d3 --- /dev/null +++ b/svg/parts-traced/heads/head-6-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From a3a291e0b225fe42aded9b078f149a175852ad4d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:02 -0700 Subject: [PATCH 0483/2079] feat: 2D traced SVGs (head-6-3.svg) --- svg/parts-traced/heads/head-6-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-6-3.svg diff --git a/svg/parts-traced/heads/head-6-3.svg b/svg/parts-traced/heads/head-6-3.svg new file mode 100644 index 00000000..f4836c95 --- /dev/null +++ b/svg/parts-traced/heads/head-6-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 4c62c83debc657380ba6aaf6ed82b2ff6b00e382 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:03 -0700 Subject: [PATCH 0484/2079] feat: 2D traced SVGs (head-6-4.svg) --- svg/parts-traced/heads/head-6-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-6-4.svg diff --git a/svg/parts-traced/heads/head-6-4.svg b/svg/parts-traced/heads/head-6-4.svg new file mode 100644 index 00000000..76b0cb66 --- /dev/null +++ b/svg/parts-traced/heads/head-6-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From b8adb8ba7566809233c07defc6cd1d1076e15a1a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:04 -0700 Subject: [PATCH 0485/2079] feat: 2D traced SVGs (head-6-5.svg) --- svg/parts-traced/heads/head-6-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-6-5.svg diff --git a/svg/parts-traced/heads/head-6-5.svg b/svg/parts-traced/heads/head-6-5.svg new file mode 100644 index 00000000..aa36857b --- /dev/null +++ b/svg/parts-traced/heads/head-6-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From c759854e7e82a7f8c068e11cd7f4034467bfc855 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:04 -0700 Subject: [PATCH 0486/2079] feat: 2D traced SVGs (head-6-6.svg) --- svg/parts-traced/heads/head-6-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-6-6.svg diff --git a/svg/parts-traced/heads/head-6-6.svg b/svg/parts-traced/heads/head-6-6.svg new file mode 100644 index 00000000..1d88ab65 --- /dev/null +++ b/svg/parts-traced/heads/head-6-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 11a1161efff50da3305c68e835673f81a578b0d9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:05 -0700 Subject: [PATCH 0487/2079] feat: 2D traced SVGs (head-6-7.svg) --- svg/parts-traced/heads/head-6-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-6-7.svg diff --git a/svg/parts-traced/heads/head-6-7.svg b/svg/parts-traced/heads/head-6-7.svg new file mode 100644 index 00000000..c75cde8b --- /dev/null +++ b/svg/parts-traced/heads/head-6-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 57ae32da5f7785b649c2363b18beacfcb178b415 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:06 -0700 Subject: [PATCH 0488/2079] feat: 2D traced SVGs (head-6-8.svg) --- svg/parts-traced/heads/head-6-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-6-8.svg diff --git a/svg/parts-traced/heads/head-6-8.svg b/svg/parts-traced/heads/head-6-8.svg new file mode 100644 index 00000000..9b25165f --- /dev/null +++ b/svg/parts-traced/heads/head-6-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 18778f36f98287ef0f29a45a2d35d17a660e35f4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:06 -0700 Subject: [PATCH 0489/2079] feat: 2D traced SVGs (head-6-9.svg) --- svg/parts-traced/heads/head-6-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-6-9.svg diff --git a/svg/parts-traced/heads/head-6-9.svg b/svg/parts-traced/heads/head-6-9.svg new file mode 100644 index 00000000..0d4b1d14 --- /dev/null +++ b/svg/parts-traced/heads/head-6-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 76774b814af0e187325ce9660916b190360d08df Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:07 -0700 Subject: [PATCH 0490/2079] feat: 2D traced SVGs (head-7-0.svg) --- svg/parts-traced/heads/head-7-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-7-0.svg diff --git a/svg/parts-traced/heads/head-7-0.svg b/svg/parts-traced/heads/head-7-0.svg new file mode 100644 index 00000000..ab09156b --- /dev/null +++ b/svg/parts-traced/heads/head-7-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5908f7e5cc55ce0fa467a09159effbdee72134eb Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:08 -0700 Subject: [PATCH 0491/2079] feat: 2D traced SVGs (head-7-1.svg) --- svg/parts-traced/heads/head-7-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-7-1.svg diff --git a/svg/parts-traced/heads/head-7-1.svg b/svg/parts-traced/heads/head-7-1.svg new file mode 100644 index 00000000..14ef67e0 --- /dev/null +++ b/svg/parts-traced/heads/head-7-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 892305af7d2d42704769aed2566b4772bdb47465 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:08 -0700 Subject: [PATCH 0492/2079] feat: 2D traced SVGs (head-7-2.svg) --- svg/parts-traced/heads/head-7-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-7-2.svg diff --git a/svg/parts-traced/heads/head-7-2.svg b/svg/parts-traced/heads/head-7-2.svg new file mode 100644 index 00000000..4c1e03e2 --- /dev/null +++ b/svg/parts-traced/heads/head-7-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From f3159553ebd7df33a1e4249965788139f70db1d2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:09 -0700 Subject: [PATCH 0493/2079] feat: 2D traced SVGs (head-7-3.svg) --- svg/parts-traced/heads/head-7-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-7-3.svg diff --git a/svg/parts-traced/heads/head-7-3.svg b/svg/parts-traced/heads/head-7-3.svg new file mode 100644 index 00000000..335009d1 --- /dev/null +++ b/svg/parts-traced/heads/head-7-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 8e37e82134bbe49c4689c6efad6f4c1f4dcd3af1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:09 -0700 Subject: [PATCH 0494/2079] feat: 2D traced SVGs (head-7-4.svg) --- svg/parts-traced/heads/head-7-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-7-4.svg diff --git a/svg/parts-traced/heads/head-7-4.svg b/svg/parts-traced/heads/head-7-4.svg new file mode 100644 index 00000000..e8a869e1 --- /dev/null +++ b/svg/parts-traced/heads/head-7-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 73ea592f7e73f4e9c8ffa02de6b44bcf8d7f1002 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:10 -0700 Subject: [PATCH 0495/2079] feat: 2D traced SVGs (head-7-5.svg) --- svg/parts-traced/heads/head-7-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-7-5.svg diff --git a/svg/parts-traced/heads/head-7-5.svg b/svg/parts-traced/heads/head-7-5.svg new file mode 100644 index 00000000..e003690e --- /dev/null +++ b/svg/parts-traced/heads/head-7-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3cb009e8a51e5700d8076ad831a3cf7da74aa22a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:10 -0700 Subject: [PATCH 0496/2079] feat: 2D traced SVGs (head-7-6.svg) --- svg/parts-traced/heads/head-7-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-7-6.svg diff --git a/svg/parts-traced/heads/head-7-6.svg b/svg/parts-traced/heads/head-7-6.svg new file mode 100644 index 00000000..6bd6b529 --- /dev/null +++ b/svg/parts-traced/heads/head-7-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From c82712a5325a40ab67a7d1a675c6857fe81d11ff Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:11 -0700 Subject: [PATCH 0497/2079] feat: 2D traced SVGs (head-7-7.svg) --- svg/parts-traced/heads/head-7-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-7-7.svg diff --git a/svg/parts-traced/heads/head-7-7.svg b/svg/parts-traced/heads/head-7-7.svg new file mode 100644 index 00000000..8606b03a --- /dev/null +++ b/svg/parts-traced/heads/head-7-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 796de44152b6c349d24bdaeb5dbb555cdfa31b28 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:12 -0700 Subject: [PATCH 0498/2079] feat: 2D traced SVGs (head-7-8.svg) --- svg/parts-traced/heads/head-7-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-7-8.svg diff --git a/svg/parts-traced/heads/head-7-8.svg b/svg/parts-traced/heads/head-7-8.svg new file mode 100644 index 00000000..5a6257c9 --- /dev/null +++ b/svg/parts-traced/heads/head-7-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 77c3d9eff522f3dee6f9bf8e3f12290f17e0c14f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:12 -0700 Subject: [PATCH 0499/2079] feat: 2D traced SVGs (head-7-9.svg) --- svg/parts-traced/heads/head-7-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-7-9.svg diff --git a/svg/parts-traced/heads/head-7-9.svg b/svg/parts-traced/heads/head-7-9.svg new file mode 100644 index 00000000..f47547e0 --- /dev/null +++ b/svg/parts-traced/heads/head-7-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9c4f8b6e6590cbf29ac18f59440377187fe55a1d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:13 -0700 Subject: [PATCH 0500/2079] feat: 2D traced SVGs (head-8-0.svg) --- svg/parts-traced/heads/head-8-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-8-0.svg diff --git a/svg/parts-traced/heads/head-8-0.svg b/svg/parts-traced/heads/head-8-0.svg new file mode 100644 index 00000000..1e5cea66 --- /dev/null +++ b/svg/parts-traced/heads/head-8-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 1f0e93066db4d4e7a0b98e897bedcef7860c66e3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:13 -0700 Subject: [PATCH 0501/2079] feat: 2D traced SVGs (head-8-1.svg) --- svg/parts-traced/heads/head-8-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-8-1.svg diff --git a/svg/parts-traced/heads/head-8-1.svg b/svg/parts-traced/heads/head-8-1.svg new file mode 100644 index 00000000..265f4ba4 --- /dev/null +++ b/svg/parts-traced/heads/head-8-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 4e94d5a37f82f83aef1460bd72ae4788001306bc Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:14 -0700 Subject: [PATCH 0502/2079] feat: 2D traced SVGs (head-8-2.svg) --- svg/parts-traced/heads/head-8-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-8-2.svg diff --git a/svg/parts-traced/heads/head-8-2.svg b/svg/parts-traced/heads/head-8-2.svg new file mode 100644 index 00000000..024f3c17 --- /dev/null +++ b/svg/parts-traced/heads/head-8-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 87b5d2aeca94cc6177210e1908f40e3e43109de4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:15 -0700 Subject: [PATCH 0503/2079] feat: 2D traced SVGs (head-8-3.svg) --- svg/parts-traced/heads/head-8-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-8-3.svg diff --git a/svg/parts-traced/heads/head-8-3.svg b/svg/parts-traced/heads/head-8-3.svg new file mode 100644 index 00000000..3d47b41f --- /dev/null +++ b/svg/parts-traced/heads/head-8-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From af234ac69b10d2b0a8229c9bf4139db737089011 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:15 -0700 Subject: [PATCH 0504/2079] feat: 2D traced SVGs (head-8-4.svg) --- svg/parts-traced/heads/head-8-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-8-4.svg diff --git a/svg/parts-traced/heads/head-8-4.svg b/svg/parts-traced/heads/head-8-4.svg new file mode 100644 index 00000000..75d40b6a --- /dev/null +++ b/svg/parts-traced/heads/head-8-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2d5b41080b252a2aef87af6d6b454b517a7552d2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:16 -0700 Subject: [PATCH 0505/2079] feat: 2D traced SVGs (head-8-5.svg) --- svg/parts-traced/heads/head-8-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-8-5.svg diff --git a/svg/parts-traced/heads/head-8-5.svg b/svg/parts-traced/heads/head-8-5.svg new file mode 100644 index 00000000..63d99161 --- /dev/null +++ b/svg/parts-traced/heads/head-8-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 77839cf3e1fe9515493d0daa55870e71c4bb2f48 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:17 -0700 Subject: [PATCH 0506/2079] feat: 2D traced SVGs (head-8-6.svg) --- svg/parts-traced/heads/head-8-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-8-6.svg diff --git a/svg/parts-traced/heads/head-8-6.svg b/svg/parts-traced/heads/head-8-6.svg new file mode 100644 index 00000000..cac4dc5a --- /dev/null +++ b/svg/parts-traced/heads/head-8-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From fb7a422aba4c6568098b162206fd38a7eb9abde4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:17 -0700 Subject: [PATCH 0507/2079] feat: 2D traced SVGs (head-8-7.svg) --- svg/parts-traced/heads/head-8-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-8-7.svg diff --git a/svg/parts-traced/heads/head-8-7.svg b/svg/parts-traced/heads/head-8-7.svg new file mode 100644 index 00000000..8ed18bd6 --- /dev/null +++ b/svg/parts-traced/heads/head-8-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 89445ceee9fb5666ba42febd4eb11815275169f9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:18 -0700 Subject: [PATCH 0508/2079] feat: 2D traced SVGs (head-8-8.svg) --- svg/parts-traced/heads/head-8-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-8-8.svg diff --git a/svg/parts-traced/heads/head-8-8.svg b/svg/parts-traced/heads/head-8-8.svg new file mode 100644 index 00000000..b277702e --- /dev/null +++ b/svg/parts-traced/heads/head-8-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From a56d9df7965a1696d7a903fda99ac7cb39cd3184 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:18 -0700 Subject: [PATCH 0509/2079] feat: 2D traced SVGs (head-8-9.svg) --- svg/parts-traced/heads/head-8-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-8-9.svg diff --git a/svg/parts-traced/heads/head-8-9.svg b/svg/parts-traced/heads/head-8-9.svg new file mode 100644 index 00000000..934bc794 --- /dev/null +++ b/svg/parts-traced/heads/head-8-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 67e99496fc8b32bb2a58bdf46210597a9cbfe6d0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:19 -0700 Subject: [PATCH 0510/2079] feat: 2D traced SVGs (head-9-0.svg) --- svg/parts-traced/heads/head-9-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-9-0.svg diff --git a/svg/parts-traced/heads/head-9-0.svg b/svg/parts-traced/heads/head-9-0.svg new file mode 100644 index 00000000..ae361fb5 --- /dev/null +++ b/svg/parts-traced/heads/head-9-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3ef7969f2fc1853767daee61c269e3582e3efb3d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:19 -0700 Subject: [PATCH 0511/2079] feat: 2D traced SVGs (head-9-1.svg) --- svg/parts-traced/heads/head-9-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-9-1.svg diff --git a/svg/parts-traced/heads/head-9-1.svg b/svg/parts-traced/heads/head-9-1.svg new file mode 100644 index 00000000..f7756a72 --- /dev/null +++ b/svg/parts-traced/heads/head-9-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From d92d5689fe6bd115fb8883fe44abedfcf4cce1ee Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:20 -0700 Subject: [PATCH 0512/2079] feat: 2D traced SVGs (head-9-2.svg) --- svg/parts-traced/heads/head-9-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-9-2.svg diff --git a/svg/parts-traced/heads/head-9-2.svg b/svg/parts-traced/heads/head-9-2.svg new file mode 100644 index 00000000..f5cd6a33 --- /dev/null +++ b/svg/parts-traced/heads/head-9-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5c9826845dcf31a1bf9767bd429ed836807b67c0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:20 -0700 Subject: [PATCH 0513/2079] feat: 2D traced SVGs (head-9-3.svg) --- svg/parts-traced/heads/head-9-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-9-3.svg diff --git a/svg/parts-traced/heads/head-9-3.svg b/svg/parts-traced/heads/head-9-3.svg new file mode 100644 index 00000000..bf240c65 --- /dev/null +++ b/svg/parts-traced/heads/head-9-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 8192981690371e552ef1d614db4216e5ac3bef62 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:21 -0700 Subject: [PATCH 0514/2079] feat: 2D traced SVGs (head-9-4.svg) --- svg/parts-traced/heads/head-9-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-9-4.svg diff --git a/svg/parts-traced/heads/head-9-4.svg b/svg/parts-traced/heads/head-9-4.svg new file mode 100644 index 00000000..ae918419 --- /dev/null +++ b/svg/parts-traced/heads/head-9-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 348c8ffe5ee8ea04aee2f3e0f1cb4aa5e074bb14 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:22 -0700 Subject: [PATCH 0515/2079] feat: 2D traced SVGs (head-9-5.svg) --- svg/parts-traced/heads/head-9-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-9-5.svg diff --git a/svg/parts-traced/heads/head-9-5.svg b/svg/parts-traced/heads/head-9-5.svg new file mode 100644 index 00000000..e6ae3174 --- /dev/null +++ b/svg/parts-traced/heads/head-9-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 688bd4df10f9e253cca5603333e938511ae3fed4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:22 -0700 Subject: [PATCH 0516/2079] feat: 2D traced SVGs (head-9-6.svg) --- svg/parts-traced/heads/head-9-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-9-6.svg diff --git a/svg/parts-traced/heads/head-9-6.svg b/svg/parts-traced/heads/head-9-6.svg new file mode 100644 index 00000000..6cc3c18a --- /dev/null +++ b/svg/parts-traced/heads/head-9-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3e48d3356e7fd77a368da0c881ce0eff4d6fbcbc Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:23 -0700 Subject: [PATCH 0517/2079] feat: 2D traced SVGs (head-9-7.svg) --- svg/parts-traced/heads/head-9-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-9-7.svg diff --git a/svg/parts-traced/heads/head-9-7.svg b/svg/parts-traced/heads/head-9-7.svg new file mode 100644 index 00000000..056b1169 --- /dev/null +++ b/svg/parts-traced/heads/head-9-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3bbfd07ec97f056d30c9908e08cb068782bb1a21 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:23 -0700 Subject: [PATCH 0518/2079] feat: 2D traced SVGs (head-9-8.svg) --- svg/parts-traced/heads/head-9-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-9-8.svg diff --git a/svg/parts-traced/heads/head-9-8.svg b/svg/parts-traced/heads/head-9-8.svg new file mode 100644 index 00000000..01b504ac --- /dev/null +++ b/svg/parts-traced/heads/head-9-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 28b3b5d14bc48bd52770cc2a378ae5d6e8f00239 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:24 -0700 Subject: [PATCH 0519/2079] feat: 2D traced SVGs (head-9-9.svg) --- svg/parts-traced/heads/head-9-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/heads/head-9-9.svg diff --git a/svg/parts-traced/heads/head-9-9.svg b/svg/parts-traced/heads/head-9-9.svg new file mode 100644 index 00000000..1bb6345f --- /dev/null +++ b/svg/parts-traced/heads/head-9-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From bfc88421d48ed58820f1e3257ceec3fdd002c9de Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:25 -0700 Subject: [PATCH 0520/2079] feat: 2D traced SVGs (body-0-0.svg) --- svg/parts-traced/bodies/body-0-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-0-0.svg diff --git a/svg/parts-traced/bodies/body-0-0.svg b/svg/parts-traced/bodies/body-0-0.svg new file mode 100644 index 00000000..b8a81090 --- /dev/null +++ b/svg/parts-traced/bodies/body-0-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From f5fa4d16894e29573dbbe36e41e5e1b57fa758c1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:25 -0700 Subject: [PATCH 0521/2079] feat: 2D traced SVGs (body-0-1.svg) --- svg/parts-traced/bodies/body-0-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-0-1.svg diff --git a/svg/parts-traced/bodies/body-0-1.svg b/svg/parts-traced/bodies/body-0-1.svg new file mode 100644 index 00000000..dd84e234 --- /dev/null +++ b/svg/parts-traced/bodies/body-0-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From d6b7e500c902bba1ce702d2b120ec40be3979b80 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:26 -0700 Subject: [PATCH 0522/2079] feat: 2D traced SVGs (body-0-2.svg) --- svg/parts-traced/bodies/body-0-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-0-2.svg diff --git a/svg/parts-traced/bodies/body-0-2.svg b/svg/parts-traced/bodies/body-0-2.svg new file mode 100644 index 00000000..a63657f6 --- /dev/null +++ b/svg/parts-traced/bodies/body-0-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From ea790dabf8324ccb54c37d10ff02f8f927ec7678 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:27 -0700 Subject: [PATCH 0523/2079] feat: 2D traced SVGs (body-0-3.svg) --- svg/parts-traced/bodies/body-0-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-0-3.svg diff --git a/svg/parts-traced/bodies/body-0-3.svg b/svg/parts-traced/bodies/body-0-3.svg new file mode 100644 index 00000000..f43bc251 --- /dev/null +++ b/svg/parts-traced/bodies/body-0-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7348f9dd8af7c9f53e8ddc08287708978255872b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:27 -0700 Subject: [PATCH 0524/2079] feat: 2D traced SVGs (body-0-4.svg) --- svg/parts-traced/bodies/body-0-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-0-4.svg diff --git a/svg/parts-traced/bodies/body-0-4.svg b/svg/parts-traced/bodies/body-0-4.svg new file mode 100644 index 00000000..f9e6af49 --- /dev/null +++ b/svg/parts-traced/bodies/body-0-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 050cf68bf5f11bbbad584d00b583b6fd88c71cc0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:28 -0700 Subject: [PATCH 0525/2079] feat: 2D traced SVGs (body-0-5.svg) --- svg/parts-traced/bodies/body-0-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-0-5.svg diff --git a/svg/parts-traced/bodies/body-0-5.svg b/svg/parts-traced/bodies/body-0-5.svg new file mode 100644 index 00000000..50366d70 --- /dev/null +++ b/svg/parts-traced/bodies/body-0-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3088c548da61685abbf6f1e8c2b8dace15d525a0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:28 -0700 Subject: [PATCH 0526/2079] feat: 2D traced SVGs (body-0-6.svg) --- svg/parts-traced/bodies/body-0-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-0-6.svg diff --git a/svg/parts-traced/bodies/body-0-6.svg b/svg/parts-traced/bodies/body-0-6.svg new file mode 100644 index 00000000..84a965a2 --- /dev/null +++ b/svg/parts-traced/bodies/body-0-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From e2e08a886f2beade6c2e37b1e5912e6302b64c9f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:29 -0700 Subject: [PATCH 0527/2079] feat: 2D traced SVGs (body-0-7.svg) --- svg/parts-traced/bodies/body-0-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-0-7.svg diff --git a/svg/parts-traced/bodies/body-0-7.svg b/svg/parts-traced/bodies/body-0-7.svg new file mode 100644 index 00000000..2b8cc49d --- /dev/null +++ b/svg/parts-traced/bodies/body-0-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 4f5f825bc2175c7536c35ca1250ab4a5dcb60dfb Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:30 -0700 Subject: [PATCH 0528/2079] feat: 2D traced SVGs (body-0-8.svg) --- svg/parts-traced/bodies/body-0-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-0-8.svg diff --git a/svg/parts-traced/bodies/body-0-8.svg b/svg/parts-traced/bodies/body-0-8.svg new file mode 100644 index 00000000..3b094663 --- /dev/null +++ b/svg/parts-traced/bodies/body-0-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 232559955bddac006cc479e81d5814391e4f2204 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:30 -0700 Subject: [PATCH 0529/2079] feat: 2D traced SVGs (body-0-9.svg) --- svg/parts-traced/bodies/body-0-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-0-9.svg diff --git a/svg/parts-traced/bodies/body-0-9.svg b/svg/parts-traced/bodies/body-0-9.svg new file mode 100644 index 00000000..a52ca340 --- /dev/null +++ b/svg/parts-traced/bodies/body-0-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 6bef22f0657fd5ce669b7c03dbf236445db18fdd Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:31 -0700 Subject: [PATCH 0530/2079] feat: 2D traced SVGs (body-1-0.svg) --- svg/parts-traced/bodies/body-1-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-1-0.svg diff --git a/svg/parts-traced/bodies/body-1-0.svg b/svg/parts-traced/bodies/body-1-0.svg new file mode 100644 index 00000000..ab845587 --- /dev/null +++ b/svg/parts-traced/bodies/body-1-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2e51493b4318481e32cbca9158b9b1517be4fa14 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:31 -0700 Subject: [PATCH 0531/2079] feat: 2D traced SVGs (body-1-1.svg) --- svg/parts-traced/bodies/body-1-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-1-1.svg diff --git a/svg/parts-traced/bodies/body-1-1.svg b/svg/parts-traced/bodies/body-1-1.svg new file mode 100644 index 00000000..88c8dfa0 --- /dev/null +++ b/svg/parts-traced/bodies/body-1-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From dea5a37c8e11856f540c9ba63d5d4dcfa50c0c57 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:32 -0700 Subject: [PATCH 0532/2079] feat: 2D traced SVGs (body-1-2.svg) --- svg/parts-traced/bodies/body-1-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-1-2.svg diff --git a/svg/parts-traced/bodies/body-1-2.svg b/svg/parts-traced/bodies/body-1-2.svg new file mode 100644 index 00000000..c2cf15ab --- /dev/null +++ b/svg/parts-traced/bodies/body-1-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 70e8428890ae06824d679dfc9b06ebb0d2999770 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:32 -0700 Subject: [PATCH 0533/2079] feat: 2D traced SVGs (body-1-3.svg) --- svg/parts-traced/bodies/body-1-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-1-3.svg diff --git a/svg/parts-traced/bodies/body-1-3.svg b/svg/parts-traced/bodies/body-1-3.svg new file mode 100644 index 00000000..25b1e85e --- /dev/null +++ b/svg/parts-traced/bodies/body-1-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7d1c5ec6adc85d3ba0613a059b7d809ea67805dc Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:33 -0700 Subject: [PATCH 0534/2079] feat: 2D traced SVGs (body-1-4.svg) --- svg/parts-traced/bodies/body-1-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-1-4.svg diff --git a/svg/parts-traced/bodies/body-1-4.svg b/svg/parts-traced/bodies/body-1-4.svg new file mode 100644 index 00000000..25f7d090 --- /dev/null +++ b/svg/parts-traced/bodies/body-1-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From db325f78ca39e242366d750705e29379d3af532f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:34 -0700 Subject: [PATCH 0535/2079] feat: 2D traced SVGs (body-1-5.svg) --- svg/parts-traced/bodies/body-1-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-1-5.svg diff --git a/svg/parts-traced/bodies/body-1-5.svg b/svg/parts-traced/bodies/body-1-5.svg new file mode 100644 index 00000000..fe870362 --- /dev/null +++ b/svg/parts-traced/bodies/body-1-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From e578a7a8f4722431fd7bce1655ef3ae1c431084d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:34 -0700 Subject: [PATCH 0536/2079] feat: 2D traced SVGs (body-1-6.svg) --- svg/parts-traced/bodies/body-1-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-1-6.svg diff --git a/svg/parts-traced/bodies/body-1-6.svg b/svg/parts-traced/bodies/body-1-6.svg new file mode 100644 index 00000000..348588bd --- /dev/null +++ b/svg/parts-traced/bodies/body-1-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7e1562a31e1b24395d5d5b39f4683c3c732c459a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:35 -0700 Subject: [PATCH 0537/2079] feat: 2D traced SVGs (body-1-7.svg) --- svg/parts-traced/bodies/body-1-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-1-7.svg diff --git a/svg/parts-traced/bodies/body-1-7.svg b/svg/parts-traced/bodies/body-1-7.svg new file mode 100644 index 00000000..0db3ef84 --- /dev/null +++ b/svg/parts-traced/bodies/body-1-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 48a370c320ffee8b613ed6c15ca5821eed9eda8a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:35 -0700 Subject: [PATCH 0538/2079] feat: 2D traced SVGs (body-1-8.svg) --- svg/parts-traced/bodies/body-1-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-1-8.svg diff --git a/svg/parts-traced/bodies/body-1-8.svg b/svg/parts-traced/bodies/body-1-8.svg new file mode 100644 index 00000000..9910fa55 --- /dev/null +++ b/svg/parts-traced/bodies/body-1-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9ae01b34fdaedcba25181c3f5345c08321ab06ef Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:36 -0700 Subject: [PATCH 0539/2079] feat: 2D traced SVGs (body-1-9.svg) --- svg/parts-traced/bodies/body-1-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-1-9.svg diff --git a/svg/parts-traced/bodies/body-1-9.svg b/svg/parts-traced/bodies/body-1-9.svg new file mode 100644 index 00000000..64efe5f6 --- /dev/null +++ b/svg/parts-traced/bodies/body-1-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From b12ef12ac491214d5a7dc0440c78eb082f23b7a0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:36 -0700 Subject: [PATCH 0540/2079] feat: 2D traced SVGs (body-2-0.svg) --- svg/parts-traced/bodies/body-2-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-2-0.svg diff --git a/svg/parts-traced/bodies/body-2-0.svg b/svg/parts-traced/bodies/body-2-0.svg new file mode 100644 index 00000000..c2686def --- /dev/null +++ b/svg/parts-traced/bodies/body-2-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 076aca7d3348d65c218e448bc4db86bad8f43323 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:37 -0700 Subject: [PATCH 0541/2079] feat: 2D traced SVGs (body-2-1.svg) --- svg/parts-traced/bodies/body-2-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-2-1.svg diff --git a/svg/parts-traced/bodies/body-2-1.svg b/svg/parts-traced/bodies/body-2-1.svg new file mode 100644 index 00000000..ca2ce411 --- /dev/null +++ b/svg/parts-traced/bodies/body-2-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3756356ccbb4517dcd7db068a6705935471bacac Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:38 -0700 Subject: [PATCH 0542/2079] feat: 2D traced SVGs (body-2-2.svg) --- svg/parts-traced/bodies/body-2-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-2-2.svg diff --git a/svg/parts-traced/bodies/body-2-2.svg b/svg/parts-traced/bodies/body-2-2.svg new file mode 100644 index 00000000..030ee53f --- /dev/null +++ b/svg/parts-traced/bodies/body-2-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9f99f9100efc441623e034a57b3b9f2e1aa74243 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:38 -0700 Subject: [PATCH 0543/2079] feat: 2D traced SVGs (body-2-3.svg) --- svg/parts-traced/bodies/body-2-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-2-3.svg diff --git a/svg/parts-traced/bodies/body-2-3.svg b/svg/parts-traced/bodies/body-2-3.svg new file mode 100644 index 00000000..7c59113d --- /dev/null +++ b/svg/parts-traced/bodies/body-2-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From d211a68f2a1e407ce27a0ab746f1db0fc90b1012 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:39 -0700 Subject: [PATCH 0544/2079] feat: 2D traced SVGs (body-2-4.svg) --- svg/parts-traced/bodies/body-2-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-2-4.svg diff --git a/svg/parts-traced/bodies/body-2-4.svg b/svg/parts-traced/bodies/body-2-4.svg new file mode 100644 index 00000000..e4daadc7 --- /dev/null +++ b/svg/parts-traced/bodies/body-2-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2e80c8154e1e47f8dec065420ed282ddba5d3921 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:39 -0700 Subject: [PATCH 0545/2079] feat: 2D traced SVGs (body-2-5.svg) --- svg/parts-traced/bodies/body-2-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-2-5.svg diff --git a/svg/parts-traced/bodies/body-2-5.svg b/svg/parts-traced/bodies/body-2-5.svg new file mode 100644 index 00000000..5150c6ed --- /dev/null +++ b/svg/parts-traced/bodies/body-2-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From c01deffaf537772f324b4262df227759dde82dbb Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:40 -0700 Subject: [PATCH 0546/2079] feat: 2D traced SVGs (body-2-6.svg) --- svg/parts-traced/bodies/body-2-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-2-6.svg diff --git a/svg/parts-traced/bodies/body-2-6.svg b/svg/parts-traced/bodies/body-2-6.svg new file mode 100644 index 00000000..926efba8 --- /dev/null +++ b/svg/parts-traced/bodies/body-2-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 326625bec7469f69752614a5005a408109d915cf Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:40 -0700 Subject: [PATCH 0547/2079] feat: 2D traced SVGs (body-2-7.svg) --- svg/parts-traced/bodies/body-2-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-2-7.svg diff --git a/svg/parts-traced/bodies/body-2-7.svg b/svg/parts-traced/bodies/body-2-7.svg new file mode 100644 index 00000000..ad769b1f --- /dev/null +++ b/svg/parts-traced/bodies/body-2-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From e22c64355dc6affbce0157cad01ebc3647be2ef0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:41 -0700 Subject: [PATCH 0548/2079] feat: 2D traced SVGs (body-2-8.svg) --- svg/parts-traced/bodies/body-2-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-2-8.svg diff --git a/svg/parts-traced/bodies/body-2-8.svg b/svg/parts-traced/bodies/body-2-8.svg new file mode 100644 index 00000000..a710783e --- /dev/null +++ b/svg/parts-traced/bodies/body-2-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From c37b8311aa5ba5705572b36eed13fe663ff97326 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:42 -0700 Subject: [PATCH 0549/2079] feat: 2D traced SVGs (body-2-9.svg) --- svg/parts-traced/bodies/body-2-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-2-9.svg diff --git a/svg/parts-traced/bodies/body-2-9.svg b/svg/parts-traced/bodies/body-2-9.svg new file mode 100644 index 00000000..98cbfc60 --- /dev/null +++ b/svg/parts-traced/bodies/body-2-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3feafbdf7492d74d32603c8df6d6448bb30ffaa9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:42 -0700 Subject: [PATCH 0550/2079] feat: 2D traced SVGs (body-3-0.svg) --- svg/parts-traced/bodies/body-3-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-3-0.svg diff --git a/svg/parts-traced/bodies/body-3-0.svg b/svg/parts-traced/bodies/body-3-0.svg new file mode 100644 index 00000000..6e9574db --- /dev/null +++ b/svg/parts-traced/bodies/body-3-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 1f17d664d075281a0fdec8f9ab6c7a1a436a42d7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:43 -0700 Subject: [PATCH 0551/2079] feat: 2D traced SVGs (body-3-1.svg) --- svg/parts-traced/bodies/body-3-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-3-1.svg diff --git a/svg/parts-traced/bodies/body-3-1.svg b/svg/parts-traced/bodies/body-3-1.svg new file mode 100644 index 00000000..83c91f20 --- /dev/null +++ b/svg/parts-traced/bodies/body-3-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From d7f90e76da1b7cdad80fd4f683b73d14abe1eff1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:44 -0700 Subject: [PATCH 0552/2079] feat: 2D traced SVGs (body-3-2.svg) --- svg/parts-traced/bodies/body-3-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-3-2.svg diff --git a/svg/parts-traced/bodies/body-3-2.svg b/svg/parts-traced/bodies/body-3-2.svg new file mode 100644 index 00000000..deca029b --- /dev/null +++ b/svg/parts-traced/bodies/body-3-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From c7ad531f931e617b30acb902702c502b8a3fe028 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:44 -0700 Subject: [PATCH 0553/2079] feat: 2D traced SVGs (body-3-3.svg) --- svg/parts-traced/bodies/body-3-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-3-3.svg diff --git a/svg/parts-traced/bodies/body-3-3.svg b/svg/parts-traced/bodies/body-3-3.svg new file mode 100644 index 00000000..8295a87b --- /dev/null +++ b/svg/parts-traced/bodies/body-3-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From a9efc01523560ebe2e8982aaf3a4fd65f723f9b3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:45 -0700 Subject: [PATCH 0554/2079] feat: 2D traced SVGs (body-3-4.svg) --- svg/parts-traced/bodies/body-3-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-3-4.svg diff --git a/svg/parts-traced/bodies/body-3-4.svg b/svg/parts-traced/bodies/body-3-4.svg new file mode 100644 index 00000000..c8439e11 --- /dev/null +++ b/svg/parts-traced/bodies/body-3-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From e95ebe675e6077526b8f173b99fe645ba1d84c3d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:45 -0700 Subject: [PATCH 0555/2079] feat: 2D traced SVGs (body-3-5.svg) --- svg/parts-traced/bodies/body-3-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-3-5.svg diff --git a/svg/parts-traced/bodies/body-3-5.svg b/svg/parts-traced/bodies/body-3-5.svg new file mode 100644 index 00000000..e5f0dff4 --- /dev/null +++ b/svg/parts-traced/bodies/body-3-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 578dd5def33f495d8e649509b3ead96e8b21ba40 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:46 -0700 Subject: [PATCH 0556/2079] feat: 2D traced SVGs (body-3-6.svg) --- svg/parts-traced/bodies/body-3-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-3-6.svg diff --git a/svg/parts-traced/bodies/body-3-6.svg b/svg/parts-traced/bodies/body-3-6.svg new file mode 100644 index 00000000..d8dac460 --- /dev/null +++ b/svg/parts-traced/bodies/body-3-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 6d948c40e3692b242d7b1ca933a7f7206573637d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:47 -0700 Subject: [PATCH 0557/2079] feat: 2D traced SVGs (body-3-7.svg) --- svg/parts-traced/bodies/body-3-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-3-7.svg diff --git a/svg/parts-traced/bodies/body-3-7.svg b/svg/parts-traced/bodies/body-3-7.svg new file mode 100644 index 00000000..b71d9531 --- /dev/null +++ b/svg/parts-traced/bodies/body-3-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3723bcc557e55c9b6fc071fe659eb88d0c262ed1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:47 -0700 Subject: [PATCH 0558/2079] feat: 2D traced SVGs (body-3-8.svg) --- svg/parts-traced/bodies/body-3-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-3-8.svg diff --git a/svg/parts-traced/bodies/body-3-8.svg b/svg/parts-traced/bodies/body-3-8.svg new file mode 100644 index 00000000..c09ace5e --- /dev/null +++ b/svg/parts-traced/bodies/body-3-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From a0acc49f3a5184a2385992a63945c3d0eacda36e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:48 -0700 Subject: [PATCH 0559/2079] feat: 2D traced SVGs (body-3-9.svg) --- svg/parts-traced/bodies/body-3-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-3-9.svg diff --git a/svg/parts-traced/bodies/body-3-9.svg b/svg/parts-traced/bodies/body-3-9.svg new file mode 100644 index 00000000..e49b2eec --- /dev/null +++ b/svg/parts-traced/bodies/body-3-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3fe3fa9c250a52fa8cf8fcf741ba39da024279d7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:49 -0700 Subject: [PATCH 0560/2079] feat: 2D traced SVGs (body-4-0.svg) --- svg/parts-traced/bodies/body-4-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-4-0.svg diff --git a/svg/parts-traced/bodies/body-4-0.svg b/svg/parts-traced/bodies/body-4-0.svg new file mode 100644 index 00000000..10a3633b --- /dev/null +++ b/svg/parts-traced/bodies/body-4-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 621e76f896248d7bfe27d5410dce44be6c0a6693 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:49 -0700 Subject: [PATCH 0561/2079] feat: 2D traced SVGs (body-4-1.svg) --- svg/parts-traced/bodies/body-4-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-4-1.svg diff --git a/svg/parts-traced/bodies/body-4-1.svg b/svg/parts-traced/bodies/body-4-1.svg new file mode 100644 index 00000000..b78fbd6d --- /dev/null +++ b/svg/parts-traced/bodies/body-4-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7029f1e17f73f1a5f66948fb43ac376a1c307e8b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:50 -0700 Subject: [PATCH 0562/2079] feat: 2D traced SVGs (body-4-2.svg) --- svg/parts-traced/bodies/body-4-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-4-2.svg diff --git a/svg/parts-traced/bodies/body-4-2.svg b/svg/parts-traced/bodies/body-4-2.svg new file mode 100644 index 00000000..ee564260 --- /dev/null +++ b/svg/parts-traced/bodies/body-4-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From b60c1c4aacfd7a141e2ee4390a5fb9ac58ad27b1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:50 -0700 Subject: [PATCH 0563/2079] feat: 2D traced SVGs (body-4-3.svg) --- svg/parts-traced/bodies/body-4-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-4-3.svg diff --git a/svg/parts-traced/bodies/body-4-3.svg b/svg/parts-traced/bodies/body-4-3.svg new file mode 100644 index 00000000..cc225959 --- /dev/null +++ b/svg/parts-traced/bodies/body-4-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From d0df70efccf3d11f5df5f8fb254376a7391066db Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:51 -0700 Subject: [PATCH 0564/2079] feat: 2D traced SVGs (body-4-4.svg) --- svg/parts-traced/bodies/body-4-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-4-4.svg diff --git a/svg/parts-traced/bodies/body-4-4.svg b/svg/parts-traced/bodies/body-4-4.svg new file mode 100644 index 00000000..7bb12b98 --- /dev/null +++ b/svg/parts-traced/bodies/body-4-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7658ff9546a6ca03dcffe710303be1d5988f7c71 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:52 -0700 Subject: [PATCH 0565/2079] feat: 2D traced SVGs (body-4-5.svg) --- svg/parts-traced/bodies/body-4-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-4-5.svg diff --git a/svg/parts-traced/bodies/body-4-5.svg b/svg/parts-traced/bodies/body-4-5.svg new file mode 100644 index 00000000..97d58239 --- /dev/null +++ b/svg/parts-traced/bodies/body-4-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 357b15896027d26c9e6329723988c4724000f6c9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:52 -0700 Subject: [PATCH 0566/2079] feat: 2D traced SVGs (body-4-6.svg) --- svg/parts-traced/bodies/body-4-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-4-6.svg diff --git a/svg/parts-traced/bodies/body-4-6.svg b/svg/parts-traced/bodies/body-4-6.svg new file mode 100644 index 00000000..7c619cc2 --- /dev/null +++ b/svg/parts-traced/bodies/body-4-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From a9a3bc3025cbc0edf5803a51ad0f410412209807 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:53 -0700 Subject: [PATCH 0567/2079] feat: 2D traced SVGs (body-4-7.svg) --- svg/parts-traced/bodies/body-4-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-4-7.svg diff --git a/svg/parts-traced/bodies/body-4-7.svg b/svg/parts-traced/bodies/body-4-7.svg new file mode 100644 index 00000000..d875fe88 --- /dev/null +++ b/svg/parts-traced/bodies/body-4-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 734d69c35ad6ad9cc422d7121cc3c4298e152c59 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:53 -0700 Subject: [PATCH 0568/2079] feat: 2D traced SVGs (body-4-8.svg) --- svg/parts-traced/bodies/body-4-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-4-8.svg diff --git a/svg/parts-traced/bodies/body-4-8.svg b/svg/parts-traced/bodies/body-4-8.svg new file mode 100644 index 00000000..43baa782 --- /dev/null +++ b/svg/parts-traced/bodies/body-4-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 39a23cb4f9e761440952f5c9e5c9a65af94bf46c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:54 -0700 Subject: [PATCH 0569/2079] feat: 2D traced SVGs (body-4-9.svg) --- svg/parts-traced/bodies/body-4-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-4-9.svg diff --git a/svg/parts-traced/bodies/body-4-9.svg b/svg/parts-traced/bodies/body-4-9.svg new file mode 100644 index 00000000..c1d25eb6 --- /dev/null +++ b/svg/parts-traced/bodies/body-4-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9c8352791d0b671129f86ccda09b61418fa2f8fe Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:55 -0700 Subject: [PATCH 0570/2079] feat: 2D traced SVGs (body-5-0.svg) --- svg/parts-traced/bodies/body-5-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-5-0.svg diff --git a/svg/parts-traced/bodies/body-5-0.svg b/svg/parts-traced/bodies/body-5-0.svg new file mode 100644 index 00000000..22661278 --- /dev/null +++ b/svg/parts-traced/bodies/body-5-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From d8954e1999f27bb0e6c0fe50860305ede0407ed0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:55 -0700 Subject: [PATCH 0571/2079] feat: 2D traced SVGs (body-5-1.svg) --- svg/parts-traced/bodies/body-5-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-5-1.svg diff --git a/svg/parts-traced/bodies/body-5-1.svg b/svg/parts-traced/bodies/body-5-1.svg new file mode 100644 index 00000000..ea91b5a8 --- /dev/null +++ b/svg/parts-traced/bodies/body-5-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From f4d20740cd5af394b09f484a80855151b0deadf8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:56 -0700 Subject: [PATCH 0572/2079] feat: 2D traced SVGs (body-5-2.svg) --- svg/parts-traced/bodies/body-5-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-5-2.svg diff --git a/svg/parts-traced/bodies/body-5-2.svg b/svg/parts-traced/bodies/body-5-2.svg new file mode 100644 index 00000000..e6deb05f --- /dev/null +++ b/svg/parts-traced/bodies/body-5-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9e19658d78e3d91a740af143e6309df37cef1214 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:56 -0700 Subject: [PATCH 0573/2079] feat: 2D traced SVGs (body-5-3.svg) --- svg/parts-traced/bodies/body-5-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-5-3.svg diff --git a/svg/parts-traced/bodies/body-5-3.svg b/svg/parts-traced/bodies/body-5-3.svg new file mode 100644 index 00000000..fff30ecb --- /dev/null +++ b/svg/parts-traced/bodies/body-5-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From f4b56d4555d50b8fe2652144a70caee2df66f7c5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:57 -0700 Subject: [PATCH 0574/2079] feat: 2D traced SVGs (body-5-4.svg) --- svg/parts-traced/bodies/body-5-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-5-4.svg diff --git a/svg/parts-traced/bodies/body-5-4.svg b/svg/parts-traced/bodies/body-5-4.svg new file mode 100644 index 00000000..b49652a2 --- /dev/null +++ b/svg/parts-traced/bodies/body-5-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 4535fe35260953a41d15122d42606859e42f2f94 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:57 -0700 Subject: [PATCH 0575/2079] feat: 2D traced SVGs (body-5-5.svg) --- svg/parts-traced/bodies/body-5-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-5-5.svg diff --git a/svg/parts-traced/bodies/body-5-5.svg b/svg/parts-traced/bodies/body-5-5.svg new file mode 100644 index 00000000..5466e3f5 --- /dev/null +++ b/svg/parts-traced/bodies/body-5-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7d4e2f1e432712381c6e563f2354c89deecb7611 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:58 -0700 Subject: [PATCH 0576/2079] feat: 2D traced SVGs (body-5-6.svg) --- svg/parts-traced/bodies/body-5-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-5-6.svg diff --git a/svg/parts-traced/bodies/body-5-6.svg b/svg/parts-traced/bodies/body-5-6.svg new file mode 100644 index 00000000..6fdd48f4 --- /dev/null +++ b/svg/parts-traced/bodies/body-5-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From a884e898e26f87b9ee521f113052d4d1c430f928 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:59 -0700 Subject: [PATCH 0577/2079] feat: 2D traced SVGs (body-5-7.svg) --- svg/parts-traced/bodies/body-5-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-5-7.svg diff --git a/svg/parts-traced/bodies/body-5-7.svg b/svg/parts-traced/bodies/body-5-7.svg new file mode 100644 index 00000000..a61a7d74 --- /dev/null +++ b/svg/parts-traced/bodies/body-5-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 6df5b1f920b34e98c2c848d1be859803d2bc59ee Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:35:59 -0700 Subject: [PATCH 0578/2079] feat: 2D traced SVGs (body-5-8.svg) --- svg/parts-traced/bodies/body-5-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-5-8.svg diff --git a/svg/parts-traced/bodies/body-5-8.svg b/svg/parts-traced/bodies/body-5-8.svg new file mode 100644 index 00000000..6289d405 --- /dev/null +++ b/svg/parts-traced/bodies/body-5-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2b68278c18ea36595f06cbeda94c869db19dc26c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:00 -0700 Subject: [PATCH 0579/2079] feat: 2D traced SVGs (body-5-9.svg) --- svg/parts-traced/bodies/body-5-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-5-9.svg diff --git a/svg/parts-traced/bodies/body-5-9.svg b/svg/parts-traced/bodies/body-5-9.svg new file mode 100644 index 00000000..5e1dedfa --- /dev/null +++ b/svg/parts-traced/bodies/body-5-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2f8963f902af7cffa91714c410d7b2622548ed1e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:00 -0700 Subject: [PATCH 0580/2079] feat: 2D traced SVGs (body-6-0.svg) --- svg/parts-traced/bodies/body-6-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-6-0.svg diff --git a/svg/parts-traced/bodies/body-6-0.svg b/svg/parts-traced/bodies/body-6-0.svg new file mode 100644 index 00000000..ac3af341 --- /dev/null +++ b/svg/parts-traced/bodies/body-6-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From e1f4d24f6bff7b0dae0f30955a1e065ddf8f8656 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:01 -0700 Subject: [PATCH 0581/2079] feat: 2D traced SVGs (body-6-1.svg) --- svg/parts-traced/bodies/body-6-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-6-1.svg diff --git a/svg/parts-traced/bodies/body-6-1.svg b/svg/parts-traced/bodies/body-6-1.svg new file mode 100644 index 00000000..0288b974 --- /dev/null +++ b/svg/parts-traced/bodies/body-6-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From aac151ed508d58cbf3af856c95ee03470c80f008 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:01 -0700 Subject: [PATCH 0582/2079] feat: 2D traced SVGs (body-6-2.svg) --- svg/parts-traced/bodies/body-6-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-6-2.svg diff --git a/svg/parts-traced/bodies/body-6-2.svg b/svg/parts-traced/bodies/body-6-2.svg new file mode 100644 index 00000000..d6c433a3 --- /dev/null +++ b/svg/parts-traced/bodies/body-6-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 87f8ab4fd1764d0501857744f28702e977df9b18 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:02 -0700 Subject: [PATCH 0583/2079] feat: 2D traced SVGs (body-6-3.svg) --- svg/parts-traced/bodies/body-6-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-6-3.svg diff --git a/svg/parts-traced/bodies/body-6-3.svg b/svg/parts-traced/bodies/body-6-3.svg new file mode 100644 index 00000000..fe71dfbe --- /dev/null +++ b/svg/parts-traced/bodies/body-6-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From c2abd26421b535342a502362fd2db3ea61f2df02 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:03 -0700 Subject: [PATCH 0584/2079] feat: 2D traced SVGs (body-6-4.svg) --- svg/parts-traced/bodies/body-6-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-6-4.svg diff --git a/svg/parts-traced/bodies/body-6-4.svg b/svg/parts-traced/bodies/body-6-4.svg new file mode 100644 index 00000000..9a048765 --- /dev/null +++ b/svg/parts-traced/bodies/body-6-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From ae2c81e209ac0b466338c27fc5156e0c45e70ea0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:03 -0700 Subject: [PATCH 0585/2079] feat: 2D traced SVGs (body-6-5.svg) --- svg/parts-traced/bodies/body-6-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-6-5.svg diff --git a/svg/parts-traced/bodies/body-6-5.svg b/svg/parts-traced/bodies/body-6-5.svg new file mode 100644 index 00000000..df368230 --- /dev/null +++ b/svg/parts-traced/bodies/body-6-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 700b13a43a4edab81f6fb51094fd7b4ab6bf02e2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:04 -0700 Subject: [PATCH 0586/2079] feat: 2D traced SVGs (body-6-6.svg) --- svg/parts-traced/bodies/body-6-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-6-6.svg diff --git a/svg/parts-traced/bodies/body-6-6.svg b/svg/parts-traced/bodies/body-6-6.svg new file mode 100644 index 00000000..d327b393 --- /dev/null +++ b/svg/parts-traced/bodies/body-6-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 769fbb3e1ff96cd0d0beb4d0c6f8bc455f5bc9f0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:05 -0700 Subject: [PATCH 0587/2079] feat: 2D traced SVGs (body-6-7.svg) --- svg/parts-traced/bodies/body-6-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-6-7.svg diff --git a/svg/parts-traced/bodies/body-6-7.svg b/svg/parts-traced/bodies/body-6-7.svg new file mode 100644 index 00000000..979485e3 --- /dev/null +++ b/svg/parts-traced/bodies/body-6-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 1af0d33cced6f274eb03dc29c93b5ce8c5eeaee1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:05 -0700 Subject: [PATCH 0588/2079] feat: 2D traced SVGs (body-6-8.svg) --- svg/parts-traced/bodies/body-6-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-6-8.svg diff --git a/svg/parts-traced/bodies/body-6-8.svg b/svg/parts-traced/bodies/body-6-8.svg new file mode 100644 index 00000000..d221433e --- /dev/null +++ b/svg/parts-traced/bodies/body-6-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 8cec05be9ae23b6f92dd462f2228c4dcc07db12b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:06 -0700 Subject: [PATCH 0589/2079] feat: 2D traced SVGs (body-6-9.svg) --- svg/parts-traced/bodies/body-6-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-6-9.svg diff --git a/svg/parts-traced/bodies/body-6-9.svg b/svg/parts-traced/bodies/body-6-9.svg new file mode 100644 index 00000000..ba1fba11 --- /dev/null +++ b/svg/parts-traced/bodies/body-6-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 1f8c5c5823b25b07a9a34b5874ea8f751c553c35 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:06 -0700 Subject: [PATCH 0590/2079] feat: 2D traced SVGs (body-7-0.svg) --- svg/parts-traced/bodies/body-7-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-7-0.svg diff --git a/svg/parts-traced/bodies/body-7-0.svg b/svg/parts-traced/bodies/body-7-0.svg new file mode 100644 index 00000000..5f9c6117 --- /dev/null +++ b/svg/parts-traced/bodies/body-7-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7f37ab38d76adc8587aec6a5b5a663a4adddbb2c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:07 -0700 Subject: [PATCH 0591/2079] feat: 2D traced SVGs (body-7-1.svg) --- svg/parts-traced/bodies/body-7-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-7-1.svg diff --git a/svg/parts-traced/bodies/body-7-1.svg b/svg/parts-traced/bodies/body-7-1.svg new file mode 100644 index 00000000..29229a93 --- /dev/null +++ b/svg/parts-traced/bodies/body-7-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From b492e4aa9462817a8d7e68c1543884d20e9c0ccf Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:08 -0700 Subject: [PATCH 0592/2079] feat: 2D traced SVGs (body-7-2.svg) --- svg/parts-traced/bodies/body-7-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-7-2.svg diff --git a/svg/parts-traced/bodies/body-7-2.svg b/svg/parts-traced/bodies/body-7-2.svg new file mode 100644 index 00000000..482e6336 --- /dev/null +++ b/svg/parts-traced/bodies/body-7-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 0e39a2825a6e8c19d02e2bf629ef6e529274cf89 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:08 -0700 Subject: [PATCH 0593/2079] feat: 2D traced SVGs (body-7-3.svg) --- svg/parts-traced/bodies/body-7-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-7-3.svg diff --git a/svg/parts-traced/bodies/body-7-3.svg b/svg/parts-traced/bodies/body-7-3.svg new file mode 100644 index 00000000..7ed9ec6d --- /dev/null +++ b/svg/parts-traced/bodies/body-7-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From a9d47d9cf62af948ca1c5f9702797cabc34e8055 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:09 -0700 Subject: [PATCH 0594/2079] feat: 2D traced SVGs (body-7-4.svg) --- svg/parts-traced/bodies/body-7-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-7-4.svg diff --git a/svg/parts-traced/bodies/body-7-4.svg b/svg/parts-traced/bodies/body-7-4.svg new file mode 100644 index 00000000..6d2877bd --- /dev/null +++ b/svg/parts-traced/bodies/body-7-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 88a103e6eecac7ffee0f576d1e9569c76c0496b3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:09 -0700 Subject: [PATCH 0595/2079] feat: 2D traced SVGs (body-7-5.svg) --- svg/parts-traced/bodies/body-7-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-7-5.svg diff --git a/svg/parts-traced/bodies/body-7-5.svg b/svg/parts-traced/bodies/body-7-5.svg new file mode 100644 index 00000000..17543aba --- /dev/null +++ b/svg/parts-traced/bodies/body-7-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 1c728c5ffcb2436cec9b22009f3eff2b0ddb6af8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:10 -0700 Subject: [PATCH 0596/2079] feat: 2D traced SVGs (body-7-6.svg) --- svg/parts-traced/bodies/body-7-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-7-6.svg diff --git a/svg/parts-traced/bodies/body-7-6.svg b/svg/parts-traced/bodies/body-7-6.svg new file mode 100644 index 00000000..562803e9 --- /dev/null +++ b/svg/parts-traced/bodies/body-7-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 723bce99cb3bd27a7383f050f45a95a76735dbcb Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:10 -0700 Subject: [PATCH 0597/2079] feat: 2D traced SVGs (body-7-7.svg) --- svg/parts-traced/bodies/body-7-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-7-7.svg diff --git a/svg/parts-traced/bodies/body-7-7.svg b/svg/parts-traced/bodies/body-7-7.svg new file mode 100644 index 00000000..aaa132d1 --- /dev/null +++ b/svg/parts-traced/bodies/body-7-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 773b7c21dfea1a7fd505100e534a77197e8854a4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:11 -0700 Subject: [PATCH 0598/2079] feat: 2D traced SVGs (body-7-8.svg) --- svg/parts-traced/bodies/body-7-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-7-8.svg diff --git a/svg/parts-traced/bodies/body-7-8.svg b/svg/parts-traced/bodies/body-7-8.svg new file mode 100644 index 00000000..a912799d --- /dev/null +++ b/svg/parts-traced/bodies/body-7-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 51f9662325a046761181b878e3b1d454e5d4f276 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:12 -0700 Subject: [PATCH 0599/2079] feat: 2D traced SVGs (body-7-9.svg) --- svg/parts-traced/bodies/body-7-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-7-9.svg diff --git a/svg/parts-traced/bodies/body-7-9.svg b/svg/parts-traced/bodies/body-7-9.svg new file mode 100644 index 00000000..43a19b67 --- /dev/null +++ b/svg/parts-traced/bodies/body-7-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2a5ab305dbeb0305dfba4aa3214a9a1a3dbd1704 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:12 -0700 Subject: [PATCH 0600/2079] feat: 2D traced SVGs (body-8-0.svg) --- svg/parts-traced/bodies/body-8-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-8-0.svg diff --git a/svg/parts-traced/bodies/body-8-0.svg b/svg/parts-traced/bodies/body-8-0.svg new file mode 100644 index 00000000..d9f97cd4 --- /dev/null +++ b/svg/parts-traced/bodies/body-8-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From d5d51ccee47566a94b5df35091bc8d8ecd7adea9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:13 -0700 Subject: [PATCH 0601/2079] feat: 2D traced SVGs (body-8-1.svg) --- svg/parts-traced/bodies/body-8-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-8-1.svg diff --git a/svg/parts-traced/bodies/body-8-1.svg b/svg/parts-traced/bodies/body-8-1.svg new file mode 100644 index 00000000..15ddfa76 --- /dev/null +++ b/svg/parts-traced/bodies/body-8-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From d1537a907061ebc3816e0ad441fbfa822d0092de Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:13 -0700 Subject: [PATCH 0602/2079] feat: 2D traced SVGs (body-8-2.svg) --- svg/parts-traced/bodies/body-8-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-8-2.svg diff --git a/svg/parts-traced/bodies/body-8-2.svg b/svg/parts-traced/bodies/body-8-2.svg new file mode 100644 index 00000000..f8de76ca --- /dev/null +++ b/svg/parts-traced/bodies/body-8-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5423a3cdf8e75655e9dd82cd78f840d78594bb6a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:14 -0700 Subject: [PATCH 0603/2079] feat: 2D traced heads band 0 From 89062ff7098e994cb64600ea214cc98e153a25e4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:14 -0700 Subject: [PATCH 0604/2079] feat: 2D traced heads band 0 From 92c80d496726adea19159bcd4ff7e8e9028276ef Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:15 -0700 Subject: [PATCH 0605/2079] feat: 2D traced heads band 0 From 9c3c4354f24cf3b0f12c6dfa136df00e4c6d367d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:15 -0700 Subject: [PATCH 0606/2079] feat: 2D traced heads band 0 From c59061c2a521eaa89d7d8d343007124bf0c2a639 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:16 -0700 Subject: [PATCH 0607/2079] feat: 2D traced heads band 0 From 5b566a5567d034d4afbc27ed8a8c665e0891b2d7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:16 -0700 Subject: [PATCH 0608/2079] feat: 2D traced heads band 0 From 9a2a6c722c9a7328ff7ba4e5aef7fbbb1dde0769 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:17 -0700 Subject: [PATCH 0609/2079] feat: 2D traced heads band 0 From b77a0dc915eea16855740fd47d044de749205d4b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:17 -0700 Subject: [PATCH 0610/2079] feat: 2D traced heads band 0 From ccc247cc798b417a3c8123ebb99643948d0defbb Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:17 -0700 Subject: [PATCH 0611/2079] feat: 2D traced heads band 0 From d1eeedc6234ec9c5aac3f328fca02f8e0258be3b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:18 -0700 Subject: [PATCH 0612/2079] feat: 2D traced heads band 0 From bace99e61fa60497b696f22351a198ea9bd26ab9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:18 -0700 Subject: [PATCH 0613/2079] feat: 2D traced heads band 1 From 4ea330bd833e90097dbf69cef9e26d6e120719b7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:19 -0700 Subject: [PATCH 0614/2079] feat: 2D traced heads band 1 From 96673d514b01045c045de1639ccd70b6b61fc914 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:19 -0700 Subject: [PATCH 0615/2079] feat: 2D traced heads band 1 From 368226fa1d82ddc9e0e121d3aa21f6f6ebe717c5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:20 -0700 Subject: [PATCH 0616/2079] feat: 2D traced heads band 1 From 3837b54e487f71ab87c26d194cc17506a24b1c51 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:20 -0700 Subject: [PATCH 0617/2079] feat: 2D traced heads band 1 From c73727ebe556d3c27a799fee40dcdb71bf4bad7a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:21 -0700 Subject: [PATCH 0618/2079] feat: 2D traced heads band 1 From 216191def079eac9a9eac29c1992959bd68b1a93 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:21 -0700 Subject: [PATCH 0619/2079] feat: 2D traced heads band 1 From 77fea7a246619799aae79eae92565131da3ae65f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:22 -0700 Subject: [PATCH 0620/2079] feat: 2D traced heads band 1 From d076282fa8c454edd787ac87854bc6746a82d123 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:22 -0700 Subject: [PATCH 0621/2079] feat: 2D traced heads band 1 From 4a1500f734cf6852f1f40687f3e909bb6659fdf6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:23 -0700 Subject: [PATCH 0622/2079] feat: 2D traced heads band 1 From 6f07c32dba4878940e998e3377c4c8072b9cb062 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:23 -0700 Subject: [PATCH 0623/2079] feat: 2D traced heads band 2 From 21e58c574b2115426651f0a39109f97749bf45c9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:24 -0700 Subject: [PATCH 0624/2079] feat: 2D traced heads band 2 From f3c2a59c296e26c06f14f362641cbdc6c10dccb7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:24 -0700 Subject: [PATCH 0625/2079] feat: 2D traced heads band 2 From 40feedfe5f1111d5a2b7dee9ca7b51334b39118b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:25 -0700 Subject: [PATCH 0626/2079] feat: 2D traced heads band 2 From 8f4eab945ef21211eea814dfc1df83928526e206 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:25 -0700 Subject: [PATCH 0627/2079] feat: 2D traced heads band 2 From 1ab8666a075c9fbc500e83f156fe46aac94baea1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:26 -0700 Subject: [PATCH 0628/2079] feat: 2D traced heads band 2 From 556ac85b98187eef6ea35eef339aaf1d30b9e12a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:26 -0700 Subject: [PATCH 0629/2079] feat: 2D traced heads band 2 From 8c7645065cf103ad809063772eceb0a902b1e44e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:26 -0700 Subject: [PATCH 0630/2079] feat: 2D traced heads band 2 From 2cbd361c7640f14a8da3afbaa7eb2720a067436f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:27 -0700 Subject: [PATCH 0631/2079] feat: 2D traced heads band 2 From 15f09d416832a6a7ed7855d402b85e92c878125a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:27 -0700 Subject: [PATCH 0632/2079] feat: 2D traced heads band 2 From ae8f8937e3428c0a623b2a2d59e9abe770c35492 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:28 -0700 Subject: [PATCH 0633/2079] feat: 2D traced heads band 3 From f7df705c2549b9559281d9f3ad10c36eec9701f1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:29 -0700 Subject: [PATCH 0634/2079] feat: 2D traced heads band 3 From dd88c7609e030d7b94724246373b4dd91e2080f7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:29 -0700 Subject: [PATCH 0635/2079] feat: 2D traced heads band 3 From 89c98d96fb9ec4104ba6a83ff645efb0c40d8fbc Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:29 -0700 Subject: [PATCH 0636/2079] feat: 2D traced heads band 3 From fc4008570b1514c556a400451f3b3def88aebdc1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:30 -0700 Subject: [PATCH 0637/2079] feat: 2D traced heads band 3 From be1278837519f7a237eadb95d00c6c82aa4d398f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:30 -0700 Subject: [PATCH 0638/2079] feat: 2D traced heads band 3 From fb51d6da63586eca92a1c71c1cd87fd62636f2e2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:31 -0700 Subject: [PATCH 0639/2079] feat: 2D traced heads band 3 From 4107de2a9954f3ec02a228ae8a55f4452ec73db0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:31 -0700 Subject: [PATCH 0640/2079] feat: 2D traced heads band 3 From 2b6c3875f2ae1851bfca6a819e8b359f953d00f0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:32 -0700 Subject: [PATCH 0641/2079] feat: 2D traced heads band 3 From c73501fb4ed67e452e4a675c627e2bca835190dd Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:32 -0700 Subject: [PATCH 0642/2079] feat: 2D traced heads band 3 From 5dd28756656ac8e1336117567f67af07a8a28d25 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:33 -0700 Subject: [PATCH 0643/2079] feat: 2D traced heads band 4 From f48f1c81d4ac82d4e751b479e19cb7494d6c4238 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:33 -0700 Subject: [PATCH 0644/2079] feat: 2D traced heads band 4 From 65f72725c50ffbb7fa468521efbd9793c205d145 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:33 -0700 Subject: [PATCH 0645/2079] feat: 2D traced heads band 4 From b60f629b5b9dbe016f33b2d89de99afaa4f68df9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:34 -0700 Subject: [PATCH 0646/2079] feat: 2D traced heads band 4 From 2a34802655eb2536f18da079030ed4cc1692c554 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:34 -0700 Subject: [PATCH 0647/2079] feat: 2D traced heads band 4 From f4eafb08d3fe5c260e85ed3c076afb1cb18fe9f6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:35 -0700 Subject: [PATCH 0648/2079] feat: 2D traced heads band 4 From 03f99a786fe7f4f08f817d7474f4f6608d33ae02 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:35 -0700 Subject: [PATCH 0649/2079] feat: 2D traced heads band 4 From 36bf0f8170afea3238c9249f069de0716b04b2f2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:36 -0700 Subject: [PATCH 0650/2079] feat: 2D traced heads band 4 From d37e55e1e8911cf6b6e8d5cc8b7b8ff0dc6d79e6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:36 -0700 Subject: [PATCH 0651/2079] feat: 2D traced heads band 4 From 168402cb04a2ce932cbf43a3d10e7159789e620c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:37 -0700 Subject: [PATCH 0652/2079] feat: 2D traced heads band 4 From 36599b4024c8a491c38ec59d8328fcf0c15da851 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:37 -0700 Subject: [PATCH 0653/2079] feat: 2D traced heads band 5 From 7817f5d2dc9be1c03d5c688a79f0876a85bc2b3e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:38 -0700 Subject: [PATCH 0654/2079] feat: 2D traced heads band 5 From c6bd47540ddbb5044c5e47e22bc5013c5b4540a2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:38 -0700 Subject: [PATCH 0655/2079] feat: 2D traced heads band 5 From 1dd1dc31b4a7da8f41b75e603649d30225b95d74 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:39 -0700 Subject: [PATCH 0656/2079] feat: 2D traced heads band 5 From 7aa7ab8d4edb89e2aaa88607b06cb6d6243cea99 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:39 -0700 Subject: [PATCH 0657/2079] feat: 2D traced heads band 5 From f920470a04748aef64fd948908bb7ceeac36013a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:40 -0700 Subject: [PATCH 0658/2079] feat: 2D traced heads band 5 From a629b42d5e57c8c64fac902bba55ef248f098f5a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:40 -0700 Subject: [PATCH 0659/2079] feat: 2D traced heads band 5 From d1629d4ac4979c8c709cf4602d11e9cd462c010e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:40 -0700 Subject: [PATCH 0660/2079] feat: 2D traced heads band 5 From 5de4d39143980701f0269161fd18cea542ba869b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:41 -0700 Subject: [PATCH 0661/2079] feat: 2D traced heads band 5 From 24d22ad388ee1d35276255774f410ddc28307fca Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:41 -0700 Subject: [PATCH 0662/2079] feat: 2D traced heads band 5 From 0394ea49dcc5592a15e16fda5a5259508bbf9543 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:42 -0700 Subject: [PATCH 0663/2079] feat: 2D traced heads band 6 From 1386323d37c1ac131f3d34ea226a729e9d56d722 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:42 -0700 Subject: [PATCH 0664/2079] feat: 2D traced heads band 6 From 7b5a22f25ea7020d11e81135fd9773f1d3c55e2a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:43 -0700 Subject: [PATCH 0665/2079] feat: 2D traced heads band 6 From 6ade55fe286cd6c437e56c8a16ee136d72fee373 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:43 -0700 Subject: [PATCH 0666/2079] feat: 2D traced heads band 6 From 5a17bd0a7eaf939ecd057151e572b2deb4a4cf4f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:43 -0700 Subject: [PATCH 0667/2079] feat: 2D traced heads band 6 From 66a04d1695178e20e9cab4d0f0f7629dc389d3e1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:44 -0700 Subject: [PATCH 0668/2079] feat: 2D traced heads band 6 From 3a816c45341f621e59c9ee6a182a856d5cd92219 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:44 -0700 Subject: [PATCH 0669/2079] feat: 2D traced heads band 6 From 4e126b7da125e425bb3149f5da8bead4c2b630e6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:45 -0700 Subject: [PATCH 0670/2079] feat: 2D traced heads band 6 From df0eaede05521196644f305ef83730a16eba21f6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:45 -0700 Subject: [PATCH 0671/2079] feat: 2D traced heads band 6 From 4ab76079a864bfb3c880f66fa6ec81f2646f6689 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:46 -0700 Subject: [PATCH 0672/2079] feat: 2D traced heads band 6 From 82cf8cf1342c5b955ab23ae2c2e7c689e7c54880 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:46 -0700 Subject: [PATCH 0673/2079] feat: 2D traced heads band 7 From 33c86c4ba8b0010b6610c7f03dd82a47f4dae7ef Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:47 -0700 Subject: [PATCH 0674/2079] feat: 2D traced heads band 7 From b30606e2cd84e1a35ac76548d713511a7754cd33 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:47 -0700 Subject: [PATCH 0675/2079] feat: 2D traced heads band 7 From 239133d72504383dc79b794b245fafa122a2f133 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:47 -0700 Subject: [PATCH 0676/2079] feat: 2D traced heads band 7 From 164b3b78b3e124856c405e510a7d10af278666e6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:48 -0700 Subject: [PATCH 0677/2079] feat: 2D traced heads band 7 From 69cea0d7b04faf7bf67da1c3197d6187dc2798cd Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:48 -0700 Subject: [PATCH 0678/2079] feat: 2D traced heads band 7 From 975108545173015553c8a1f43a57508f74125b25 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:49 -0700 Subject: [PATCH 0679/2079] feat: 2D traced heads band 7 From 5f7dbe138d8368a5fa3c25aa9c8a4e16fc7e2a52 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:49 -0700 Subject: [PATCH 0680/2079] feat: 2D traced heads band 7 From 948b140c061cafe193978a71fdb632d551fbcc48 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:50 -0700 Subject: [PATCH 0681/2079] feat: 2D traced heads band 7 From 6c312d0c6ab0e8f58414e5d694343c30a47f6018 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:50 -0700 Subject: [PATCH 0682/2079] feat: 2D traced heads band 7 From d73350b59ee0917cfc312b6f9f7e36259e53c13f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:51 -0700 Subject: [PATCH 0683/2079] feat: 2D traced heads band 8 From 7c03a5993979dc1b36607c06370a0d2733b40558 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:51 -0700 Subject: [PATCH 0684/2079] feat: 2D traced heads band 8 From 4567f968a92cca13b844bf4ee828fcb7511c4e72 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:52 -0700 Subject: [PATCH 0685/2079] feat: 2D traced heads band 8 From 7914808c9ade89b7b62e2218a4dc1f1dbdb6a0c3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:52 -0700 Subject: [PATCH 0686/2079] feat: 2D traced heads band 8 From 9b322bd9be34a0a92187a047b36e99e22c4665e8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:53 -0700 Subject: [PATCH 0687/2079] feat: 2D traced heads band 8 From 29717b1545e66d51b68cdb1fc33d47ef0ab6bd89 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:53 -0700 Subject: [PATCH 0688/2079] feat: 2D traced heads band 8 From a4f2cdce238c3144fc5d1bfb39c1ec7beff206b3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:53 -0700 Subject: [PATCH 0689/2079] feat: 2D traced heads band 8 From 4880a51a54c53982710d28209e96000df54f2de5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:54 -0700 Subject: [PATCH 0690/2079] feat: 2D traced heads band 8 From ea9c9e40478fe39f52d34f9093eb1e4e44d0480d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:54 -0700 Subject: [PATCH 0691/2079] feat: 2D traced heads band 8 From 4b178c7ac18cf3c990cd478e84f2292ca2bbcfbf Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:55 -0700 Subject: [PATCH 0692/2079] feat: 2D traced heads band 8 From 07f6862c5b1ce2550729b0a78c5ec6f3f582b5f2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:55 -0700 Subject: [PATCH 0693/2079] feat: 2D traced heads band 9 From 6a0fac7acadbf7c825172a0ef01b6c5b5b2c3496 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:56 -0700 Subject: [PATCH 0694/2079] feat: 2D traced heads band 9 From a104fb8ea6d56f91242c402c57b517a8a28f7168 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:56 -0700 Subject: [PATCH 0695/2079] feat: 2D traced heads band 9 From 906d3ebbe436ed2167ca19b2c784277073e9ffb9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:57 -0700 Subject: [PATCH 0696/2079] feat: 2D traced heads band 9 From 3fc6b64469d183a57076f51a09d568975adcbd70 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:57 -0700 Subject: [PATCH 0697/2079] feat: 2D traced heads band 9 From 307baea489a394c34d44a579533e621bec4ac3c2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:58 -0700 Subject: [PATCH 0698/2079] feat: 2D traced heads band 9 From d48781a96bcf779b9e86107caea3b0cc0ccf0a2a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:58 -0700 Subject: [PATCH 0699/2079] feat: 2D traced heads band 9 From 2c3f793ffb6e7ad0e8de12352fa109b392823932 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:59 -0700 Subject: [PATCH 0700/2079] feat: 2D traced heads band 9 From 6e17b4f5603fc26c649ee541b5cd49b3f82d04a8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:36:59 -0700 Subject: [PATCH 0701/2079] feat: 2D traced heads band 9 From f700f3fb50c4a3446cc5b9c943a7d956370d1125 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:00 -0700 Subject: [PATCH 0702/2079] feat: 2D traced heads band 9 From 680be3a4e3c1dd8e02581cafd8cb690b2c8f552b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:00 -0700 Subject: [PATCH 0703/2079] chore: remove old head-0.svg --- svg/parts-traced/heads/head-0.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/heads/head-0.svg diff --git a/svg/parts-traced/heads/head-0.svg b/svg/parts-traced/heads/head-0.svg deleted file mode 100644 index a40a465d..00000000 --- a/svg/parts-traced/heads/head-0.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 08272a2b9db1abb6b40072a6cb32ea29e1bd8fe0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:01 -0700 Subject: [PATCH 0704/2079] chore: remove old head-1.svg --- svg/parts-traced/heads/head-1.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/heads/head-1.svg diff --git a/svg/parts-traced/heads/head-1.svg b/svg/parts-traced/heads/head-1.svg deleted file mode 100644 index 5e3b0866..00000000 --- a/svg/parts-traced/heads/head-1.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From e945553f4c2456524a230172526d9e729dd697d5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:01 -0700 Subject: [PATCH 0705/2079] chore: remove old head-2.svg --- svg/parts-traced/heads/head-2.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/heads/head-2.svg diff --git a/svg/parts-traced/heads/head-2.svg b/svg/parts-traced/heads/head-2.svg deleted file mode 100644 index d92a9ced..00000000 --- a/svg/parts-traced/heads/head-2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From bd5562e98bac0ba57090e4f50892b1c36da2ac03 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:01 -0700 Subject: [PATCH 0706/2079] chore: remove old head-3.svg --- svg/parts-traced/heads/head-3.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/heads/head-3.svg diff --git a/svg/parts-traced/heads/head-3.svg b/svg/parts-traced/heads/head-3.svg deleted file mode 100644 index 3f570078..00000000 --- a/svg/parts-traced/heads/head-3.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From b2480df148c6f3e1d39bc9a6cdff18fd7eef53da Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:02 -0700 Subject: [PATCH 0707/2079] chore: remove old head-4.svg --- svg/parts-traced/heads/head-4.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/heads/head-4.svg diff --git a/svg/parts-traced/heads/head-4.svg b/svg/parts-traced/heads/head-4.svg deleted file mode 100644 index 5126fd83..00000000 --- a/svg/parts-traced/heads/head-4.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 7debc14c592440f38b3a5749ccd1518dc9c89a20 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:02 -0700 Subject: [PATCH 0708/2079] chore: remove old head-5.svg --- svg/parts-traced/heads/head-5.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/heads/head-5.svg diff --git a/svg/parts-traced/heads/head-5.svg b/svg/parts-traced/heads/head-5.svg deleted file mode 100644 index 7f58c2b6..00000000 --- a/svg/parts-traced/heads/head-5.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 6dbab3641e2bfa5ea460a287ac5c6e3231529fd5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:03 -0700 Subject: [PATCH 0709/2079] chore: remove old head-6.svg --- svg/parts-traced/heads/head-6.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/heads/head-6.svg diff --git a/svg/parts-traced/heads/head-6.svg b/svg/parts-traced/heads/head-6.svg deleted file mode 100644 index 23f90828..00000000 --- a/svg/parts-traced/heads/head-6.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From f73c0936236eb686eafbc8b552c92aab48b328c5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:03 -0700 Subject: [PATCH 0710/2079] chore: remove old head-7.svg --- svg/parts-traced/heads/head-7.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/heads/head-7.svg diff --git a/svg/parts-traced/heads/head-7.svg b/svg/parts-traced/heads/head-7.svg deleted file mode 100644 index cc932d0a..00000000 --- a/svg/parts-traced/heads/head-7.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 06645ca155ba972c5fde20d6276162fd107f6153 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:04 -0700 Subject: [PATCH 0711/2079] chore: remove old head-8.svg --- svg/parts-traced/heads/head-8.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/heads/head-8.svg diff --git a/svg/parts-traced/heads/head-8.svg b/svg/parts-traced/heads/head-8.svg deleted file mode 100644 index 16de2a9a..00000000 --- a/svg/parts-traced/heads/head-8.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From f8a8703a603e2e357504d34afbbde633c21a0ce4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:04 -0700 Subject: [PATCH 0712/2079] chore: remove old head-9.svg --- svg/parts-traced/heads/head-9.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/heads/head-9.svg diff --git a/svg/parts-traced/heads/head-9.svg b/svg/parts-traced/heads/head-9.svg deleted file mode 100644 index ab749620..00000000 --- a/svg/parts-traced/heads/head-9.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 6f4dcf67e90d5ff9879c26e20c0c11879b55906f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:34 -0700 Subject: [PATCH 0713/2079] feat: 2D traced bodies band 0 From 8829a93df7a0a1e64aa97c050485ba078455e23a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:34 -0700 Subject: [PATCH 0714/2079] feat: 2D traced bodies band 0 From 68c591f27816a425127c34571c8e3d2510b854c0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:34 -0700 Subject: [PATCH 0715/2079] feat: 2D traced bodies band 0 From 3ea84ecf51a50d31654b323142ec0396fac0b768 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:35 -0700 Subject: [PATCH 0716/2079] feat: 2D traced bodies band 0 From 76680a569b426da12d47b108ab9036f8a1749599 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:35 -0700 Subject: [PATCH 0717/2079] feat: 2D traced bodies band 0 From 2fb0951816604fbdcbe3b4b6eccdf1f4ca76ec20 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:36 -0700 Subject: [PATCH 0718/2079] feat: 2D traced bodies band 0 From 477854a12fb73710a7dd3ba62dca1532452d8b30 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:36 -0700 Subject: [PATCH 0719/2079] feat: 2D traced bodies band 0 From 2b66c17ccc9c66c2efbd1c85645ad795c2e496a4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:37 -0700 Subject: [PATCH 0720/2079] feat: 2D traced bodies band 0 From 6cfe9fac67040a581806aa9ea4050011e2150bf1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:37 -0700 Subject: [PATCH 0721/2079] feat: 2D traced bodies band 0 From 23fe3a3e6e15bab724812a4ab96ab7c4b50a8759 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:38 -0700 Subject: [PATCH 0722/2079] feat: 2D traced bodies band 0 From 9cc0c4586939315ae7f69c21ca5027b98352e32f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:38 -0700 Subject: [PATCH 0723/2079] feat: 2D traced bodies band 1 From 731e5a066e132d131bfbc0dd4ed9352dc8465ef7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:38 -0700 Subject: [PATCH 0724/2079] feat: 2D traced bodies band 1 From 11ac88889ce39c042f03b300ffe270d74dd7dc51 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:39 -0700 Subject: [PATCH 0725/2079] feat: 2D traced bodies band 1 From 6f5f07650f5a1839ae613eb9253546531eef990c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:39 -0700 Subject: [PATCH 0726/2079] feat: 2D traced bodies band 1 From c32a04c1cb9b87ece03d88379360c68218ac7aa5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:40 -0700 Subject: [PATCH 0727/2079] feat: 2D traced bodies band 1 From f7d13bb4774747905184fc1713f7ec6bfed34854 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:40 -0700 Subject: [PATCH 0728/2079] feat: 2D traced bodies band 1 From ac24eb1ecb9da84ec7679f4e5d09817837cbb57e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:41 -0700 Subject: [PATCH 0729/2079] feat: 2D traced bodies band 1 From 6a404b74be13489d68f24907dd2ee2ab4467c15d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:41 -0700 Subject: [PATCH 0730/2079] feat: 2D traced bodies band 1 From dca3ab5508732a139018e7eb2caf36d91e49c972 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:42 -0700 Subject: [PATCH 0731/2079] feat: 2D traced bodies band 1 From 8148bed8b2f80dc3b4b87b6bdef4323fce630d15 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:42 -0700 Subject: [PATCH 0732/2079] feat: 2D traced bodies band 1 From c235ea065f09deaebf9b10f47f5de0e5f087faef Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:42 -0700 Subject: [PATCH 0733/2079] feat: 2D traced bodies band 2 From eb8405c92cbe3e7dca2d8b88e88630f06fe0cf67 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:43 -0700 Subject: [PATCH 0734/2079] feat: 2D traced bodies band 2 From 636d504869cdd893c04897471d993476ab78b595 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:43 -0700 Subject: [PATCH 0735/2079] feat: 2D traced bodies band 2 From 0cedce5b2a9231da8d7e8155f09e0a6a92238302 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:44 -0700 Subject: [PATCH 0736/2079] feat: 2D traced bodies band 2 From d64683f74d2215b1191f866e622acaa6b7183e54 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:44 -0700 Subject: [PATCH 0737/2079] feat: 2D traced bodies band 2 From ca7f891c0b014a2aeaf748da64bc9100ae7f27a6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:45 -0700 Subject: [PATCH 0738/2079] feat: 2D traced bodies band 2 From e9c3ab1832c32b79f82917b9307b4a1862225667 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:45 -0700 Subject: [PATCH 0739/2079] feat: 2D traced bodies band 2 From a71c32649695e5ff56c07f2e26d10b4ed0078a87 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:46 -0700 Subject: [PATCH 0740/2079] feat: 2D traced bodies band 2 From 41fa83a346e8165e75ddeeb31641902ffc4907a9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:46 -0700 Subject: [PATCH 0741/2079] feat: 2D traced bodies band 2 From b8652f68c3002ec3efeee431508ff1f7acef43ee Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:47 -0700 Subject: [PATCH 0742/2079] feat: 2D traced bodies band 2 From e8355ea769aff69c887025238b966c64c396ecf2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:47 -0700 Subject: [PATCH 0743/2079] feat: 2D traced bodies band 3 From c63322e54c74aa41db67c83b6d6bbf87b6d49bab Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:47 -0700 Subject: [PATCH 0744/2079] feat: 2D traced bodies band 3 From 0010084e066f8369aad36e3a2804ef91c9124336 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:48 -0700 Subject: [PATCH 0745/2079] feat: 2D traced bodies band 3 From adc617793903ef7b6237d574f716d728b2b45714 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:48 -0700 Subject: [PATCH 0746/2079] feat: 2D traced bodies band 3 From a95c8609eb82e9a2df82f387615b75d3e5e7a5af Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:49 -0700 Subject: [PATCH 0747/2079] feat: 2D traced bodies band 3 From 229520dd78ae0634a6ffb074ad39f2921ee78883 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:49 -0700 Subject: [PATCH 0748/2079] feat: 2D traced bodies band 3 From 08141ac027edafe778b16faf5aedbb0a3aae6c6b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:50 -0700 Subject: [PATCH 0749/2079] feat: 2D traced bodies band 3 From f70b82b4aa3ba3b814ffabded800bab69738d974 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:50 -0700 Subject: [PATCH 0750/2079] feat: 2D traced bodies band 3 From 6d5e713ec90d5c3244aad18db4261fc52d9cf712 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:50 -0700 Subject: [PATCH 0751/2079] feat: 2D traced bodies band 3 From 9e490ad9a9bc596ddefe2917b51812cff08ed571 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:51 -0700 Subject: [PATCH 0752/2079] feat: 2D traced bodies band 3 From c41e8c864366cfb67441d0d226fca6296e120032 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:52 -0700 Subject: [PATCH 0753/2079] feat: 2D traced bodies band 4 From fcd4b3befcb8bd3a7b2dc90b3641aaa5f854526f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:52 -0700 Subject: [PATCH 0754/2079] feat: 2D traced bodies band 4 From 662a09b82f1bafa3928fdd70ea43c2359e2fdff4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:52 -0700 Subject: [PATCH 0755/2079] feat: 2D traced bodies band 4 From 1421ff3e0762b69e4f36d5a14e41e7746b7a80d2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:53 -0700 Subject: [PATCH 0756/2079] feat: 2D traced bodies band 4 From 77a42aa5808b3b376a7055a70360a14bf029b1f1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:53 -0700 Subject: [PATCH 0757/2079] feat: 2D traced bodies band 4 From b5adb03d85284c623c604f212cb983f11c7f68ed Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:54 -0700 Subject: [PATCH 0758/2079] feat: 2D traced bodies band 4 From c41a66fd3fef0e562b50504d31ba78473579cb5e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:54 -0700 Subject: [PATCH 0759/2079] feat: 2D traced bodies band 4 From 7ddd5f2a3e74dcc5ca0fa4740d99bdc4135e6023 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:55 -0700 Subject: [PATCH 0760/2079] feat: 2D traced bodies band 4 From 4f8c1c42cb9854f6dba44e85c7bd233be8eb08b8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:55 -0700 Subject: [PATCH 0761/2079] feat: 2D traced bodies band 4 From a5c86be8dcc4905d612cef794201be0603a89b02 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:56 -0700 Subject: [PATCH 0762/2079] feat: 2D traced bodies band 4 From b68d94563c1293af0377a7dad0c88ee4caaa0a33 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:56 -0700 Subject: [PATCH 0763/2079] feat: 2D traced bodies band 5 From 2dc155d5e9dae38db86460a449f5e50497bcd735 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:57 -0700 Subject: [PATCH 0764/2079] feat: 2D traced bodies band 5 From 3c42724ed64ddccf75762f4d3e73a28a88af5c28 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:57 -0700 Subject: [PATCH 0765/2079] feat: 2D traced bodies band 5 From 88f69d3ee87d83a5e12b2bf66eccb835db892b50 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:58 -0700 Subject: [PATCH 0766/2079] feat: 2D traced bodies band 5 From 02fcd8a388e8ddced0978778f215168b9d53c3c6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:58 -0700 Subject: [PATCH 0767/2079] feat: 2D traced bodies band 5 From 94b6251010c096a532a01eb261a4484066833994 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:58 -0700 Subject: [PATCH 0768/2079] feat: 2D traced bodies band 5 From a921cb1f65fb701914a7fed75b19336a4d9c24a1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:37:59 -0700 Subject: [PATCH 0769/2079] feat: 2D traced bodies band 5 From 383da5041ed88b8a865cfc58c0bf0ad26d048879 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:00 -0700 Subject: [PATCH 0770/2079] feat: 2D traced bodies band 5 From d002ee510fc9c9390188b906412bb5ee31fb1949 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:00 -0700 Subject: [PATCH 0771/2079] feat: 2D traced bodies band 5 From f9415e0f8c2360596cefd5c602b13471d4bbbc34 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:00 -0700 Subject: [PATCH 0772/2079] feat: 2D traced bodies band 5 From dbc813a160aad71aaa715b2a002311a4d46398c9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:01 -0700 Subject: [PATCH 0773/2079] feat: 2D traced bodies band 6 From 2ebb40ae1c5ff31a5cae1bf30bd14b81f881b5a5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:01 -0700 Subject: [PATCH 0774/2079] feat: 2D traced bodies band 6 From 252dd2a9a6e2c650fce18d12e73df1cf58790765 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:02 -0700 Subject: [PATCH 0775/2079] feat: 2D traced bodies band 6 From 34c6bfd66054e51e68caf2e4e5ed49789548e3f5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:02 -0700 Subject: [PATCH 0776/2079] feat: 2D traced bodies band 6 From bec3590842710b2ea883e0faf0e4aab2f9205a64 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:03 -0700 Subject: [PATCH 0777/2079] feat: 2D traced bodies band 6 From 79f0afd61a22ce437daf28085c05bda0a737360f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:03 -0700 Subject: [PATCH 0778/2079] feat: 2D traced bodies band 6 From 337d258ad03971941b3cfeb7f04c4c540ec0a72f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:04 -0700 Subject: [PATCH 0779/2079] feat: 2D traced bodies band 6 From 3b003a771a1bcfa526357e3ba205122aafa43507 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:04 -0700 Subject: [PATCH 0780/2079] feat: 2D traced bodies band 6 From 59fd2a61f457fb1403df4576dc0eeb0ba199c0c7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:05 -0700 Subject: [PATCH 0781/2079] feat: 2D traced bodies band 6 From c0cd05bdbc2f152597691f565ac8ed9b06c4bcee Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:05 -0700 Subject: [PATCH 0782/2079] feat: 2D traced bodies band 6 From e3a7d45d4b5532e2e85159c4b3ea2bbbe0f51ba6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:06 -0700 Subject: [PATCH 0783/2079] feat: 2D traced bodies band 7 From 1defb3b07b928aba97395fff704eecced959f643 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:06 -0700 Subject: [PATCH 0784/2079] feat: 2D traced bodies band 7 From 9a893920d66df7b6eb776641442c9abec7eebe6a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:06 -0700 Subject: [PATCH 0785/2079] feat: 2D traced bodies band 7 From d75a08ce9a14611546282e8e9323ac0dbf0fd005 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:07 -0700 Subject: [PATCH 0786/2079] feat: 2D traced bodies band 7 From f3b69227a2b8266a175601b6370d8025c661a9b5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:07 -0700 Subject: [PATCH 0787/2079] feat: 2D traced bodies band 7 From d0b75b701b51594e196f7efde9109dafcf5d6c04 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:08 -0700 Subject: [PATCH 0788/2079] feat: 2D traced bodies band 7 From bdc1bac45f017cc95b6ea8a16c866f29c9777260 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:08 -0700 Subject: [PATCH 0789/2079] feat: 2D traced bodies band 7 From e336f288a4c94cbedbee3b5401703a95b9a5b92a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:09 -0700 Subject: [PATCH 0790/2079] feat: 2D traced bodies band 7 From 96d8377947fdb882cd573528aacce02529b54b78 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:09 -0700 Subject: [PATCH 0791/2079] feat: 2D traced bodies band 7 From 27c680547bfae1206fea3b8d040c35a78ce10448 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:10 -0700 Subject: [PATCH 0792/2079] feat: 2D traced bodies band 7 From 9bdf8d7c24b4a85b750ff2dfeecee922c99a9208 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:10 -0700 Subject: [PATCH 0793/2079] feat: 2D traced bodies band 8 From 495f0bc74105ec8fab9ce3a77cc3972450968e0f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:10 -0700 Subject: [PATCH 0794/2079] feat: 2D traced bodies band 8 From 0456d65b1a2d7be0ee8bbd3504773ab3244e6eb4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:11 -0700 Subject: [PATCH 0795/2079] feat: 2D traced bodies band 8 From 71bad228fe86591e32de96af520dd927e86c09b0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:11 -0700 Subject: [PATCH 0796/2079] feat: 2D traced bodies band 8 --- svg/parts-traced/bodies/body-8-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-8-3.svg diff --git a/svg/parts-traced/bodies/body-8-3.svg b/svg/parts-traced/bodies/body-8-3.svg new file mode 100644 index 00000000..49938d53 --- /dev/null +++ b/svg/parts-traced/bodies/body-8-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From e06b81abb2e0de9991bceebada65833cc2163df6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:12 -0700 Subject: [PATCH 0797/2079] feat: 2D traced bodies band 8 --- svg/parts-traced/bodies/body-8-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-8-4.svg diff --git a/svg/parts-traced/bodies/body-8-4.svg b/svg/parts-traced/bodies/body-8-4.svg new file mode 100644 index 00000000..e7e5b6d9 --- /dev/null +++ b/svg/parts-traced/bodies/body-8-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 511a38d367290cc6a5c9d1b05c4def58676d3009 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:13 -0700 Subject: [PATCH 0798/2079] feat: 2D traced bodies band 8 --- svg/parts-traced/bodies/body-8-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-8-5.svg diff --git a/svg/parts-traced/bodies/body-8-5.svg b/svg/parts-traced/bodies/body-8-5.svg new file mode 100644 index 00000000..18b0651f --- /dev/null +++ b/svg/parts-traced/bodies/body-8-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 6d344f6d82323c7792b65eaba387f67a43f89abc Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:13 -0700 Subject: [PATCH 0799/2079] feat: 2D traced bodies band 8 --- svg/parts-traced/bodies/body-8-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-8-6.svg diff --git a/svg/parts-traced/bodies/body-8-6.svg b/svg/parts-traced/bodies/body-8-6.svg new file mode 100644 index 00000000..27a39aa6 --- /dev/null +++ b/svg/parts-traced/bodies/body-8-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2133c7aadfe0678f69161b97e4ff1713e815f98a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:14 -0700 Subject: [PATCH 0800/2079] feat: 2D traced bodies band 8 --- svg/parts-traced/bodies/body-8-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-8-7.svg diff --git a/svg/parts-traced/bodies/body-8-7.svg b/svg/parts-traced/bodies/body-8-7.svg new file mode 100644 index 00000000..370f995b --- /dev/null +++ b/svg/parts-traced/bodies/body-8-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 4e2e0b940738fae490d64120b05e0d1b6639e856 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:15 -0700 Subject: [PATCH 0801/2079] feat: 2D traced bodies band 8 --- svg/parts-traced/bodies/body-8-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-8-8.svg diff --git a/svg/parts-traced/bodies/body-8-8.svg b/svg/parts-traced/bodies/body-8-8.svg new file mode 100644 index 00000000..1cfad035 --- /dev/null +++ b/svg/parts-traced/bodies/body-8-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 079538fa5c00cb58d0f672dbd07426febb083677 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:15 -0700 Subject: [PATCH 0802/2079] feat: 2D traced bodies band 8 --- svg/parts-traced/bodies/body-8-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-8-9.svg diff --git a/svg/parts-traced/bodies/body-8-9.svg b/svg/parts-traced/bodies/body-8-9.svg new file mode 100644 index 00000000..2c705805 --- /dev/null +++ b/svg/parts-traced/bodies/body-8-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 34542896595b1d0e44a110649931717fbd9cf017 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:16 -0700 Subject: [PATCH 0803/2079] feat: 2D traced bodies band 9 --- svg/parts-traced/bodies/body-9-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-9-0.svg diff --git a/svg/parts-traced/bodies/body-9-0.svg b/svg/parts-traced/bodies/body-9-0.svg new file mode 100644 index 00000000..4e6fad04 --- /dev/null +++ b/svg/parts-traced/bodies/body-9-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From cc1f03b479df43de464e06aa76bd4264ea8692f2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:16 -0700 Subject: [PATCH 0804/2079] feat: 2D traced bodies band 9 --- svg/parts-traced/bodies/body-9-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-9-1.svg diff --git a/svg/parts-traced/bodies/body-9-1.svg b/svg/parts-traced/bodies/body-9-1.svg new file mode 100644 index 00000000..a536af9e --- /dev/null +++ b/svg/parts-traced/bodies/body-9-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9659900de748bdc045bd66de2fdf3f66b9822755 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:17 -0700 Subject: [PATCH 0805/2079] feat: 2D traced bodies band 9 --- svg/parts-traced/bodies/body-9-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-9-2.svg diff --git a/svg/parts-traced/bodies/body-9-2.svg b/svg/parts-traced/bodies/body-9-2.svg new file mode 100644 index 00000000..2e9e8f82 --- /dev/null +++ b/svg/parts-traced/bodies/body-9-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From f3ab94d9f307280a14e1b677de8b6ac265ca9766 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:17 -0700 Subject: [PATCH 0806/2079] feat: 2D traced bodies band 9 --- svg/parts-traced/bodies/body-9-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-9-3.svg diff --git a/svg/parts-traced/bodies/body-9-3.svg b/svg/parts-traced/bodies/body-9-3.svg new file mode 100644 index 00000000..e9d03ff6 --- /dev/null +++ b/svg/parts-traced/bodies/body-9-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5b04602741356897372482402342c70759ca59f5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:18 -0700 Subject: [PATCH 0807/2079] feat: 2D traced bodies band 9 --- svg/parts-traced/bodies/body-9-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-9-4.svg diff --git a/svg/parts-traced/bodies/body-9-4.svg b/svg/parts-traced/bodies/body-9-4.svg new file mode 100644 index 00000000..03d4aa5b --- /dev/null +++ b/svg/parts-traced/bodies/body-9-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 4e523b48f9e7e7342b68ffc85c7f765febc6faa6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:19 -0700 Subject: [PATCH 0808/2079] feat: 2D traced bodies band 9 --- svg/parts-traced/bodies/body-9-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-9-5.svg diff --git a/svg/parts-traced/bodies/body-9-5.svg b/svg/parts-traced/bodies/body-9-5.svg new file mode 100644 index 00000000..42338436 --- /dev/null +++ b/svg/parts-traced/bodies/body-9-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2d724cacf0c7b816885b3f81f446239b8782a6b7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:19 -0700 Subject: [PATCH 0809/2079] feat: 2D traced bodies band 9 --- svg/parts-traced/bodies/body-9-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-9-6.svg diff --git a/svg/parts-traced/bodies/body-9-6.svg b/svg/parts-traced/bodies/body-9-6.svg new file mode 100644 index 00000000..fbdb31ea --- /dev/null +++ b/svg/parts-traced/bodies/body-9-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 64cb385c640c02e7cef984265286d10581803803 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:20 -0700 Subject: [PATCH 0810/2079] feat: 2D traced bodies band 9 --- svg/parts-traced/bodies/body-9-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-9-7.svg diff --git a/svg/parts-traced/bodies/body-9-7.svg b/svg/parts-traced/bodies/body-9-7.svg new file mode 100644 index 00000000..9fd001cb --- /dev/null +++ b/svg/parts-traced/bodies/body-9-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 497d97136af458ec6d57e02069882cec5c465a0a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:20 -0700 Subject: [PATCH 0811/2079] feat: 2D traced bodies band 9 --- svg/parts-traced/bodies/body-9-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-9-8.svg diff --git a/svg/parts-traced/bodies/body-9-8.svg b/svg/parts-traced/bodies/body-9-8.svg new file mode 100644 index 00000000..2702e557 --- /dev/null +++ b/svg/parts-traced/bodies/body-9-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 6e6823c0eb0acc12edd6349f444944cd40f15233 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:21 -0700 Subject: [PATCH 0812/2079] feat: 2D traced bodies band 9 --- svg/parts-traced/bodies/body-9-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/bodies/body-9-9.svg diff --git a/svg/parts-traced/bodies/body-9-9.svg b/svg/parts-traced/bodies/body-9-9.svg new file mode 100644 index 00000000..1f5e4ede --- /dev/null +++ b/svg/parts-traced/bodies/body-9-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5923ea16f367792e3f6da919601a0923bc021183 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:21 -0700 Subject: [PATCH 0813/2079] chore: remove old body-0.svg --- svg/parts-traced/bodies/body-0.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/bodies/body-0.svg diff --git a/svg/parts-traced/bodies/body-0.svg b/svg/parts-traced/bodies/body-0.svg deleted file mode 100644 index b8a81090..00000000 --- a/svg/parts-traced/bodies/body-0.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From fcd2c4eaae72e31fc3f473704c91e675a2d83207 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:22 -0700 Subject: [PATCH 0814/2079] chore: remove old body-1.svg --- svg/parts-traced/bodies/body-1.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/bodies/body-1.svg diff --git a/svg/parts-traced/bodies/body-1.svg b/svg/parts-traced/bodies/body-1.svg deleted file mode 100644 index dd84e234..00000000 --- a/svg/parts-traced/bodies/body-1.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From f1490ec11c0b96403a29f20b014b55601732882f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:22 -0700 Subject: [PATCH 0815/2079] chore: remove old body-2.svg --- svg/parts-traced/bodies/body-2.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/bodies/body-2.svg diff --git a/svg/parts-traced/bodies/body-2.svg b/svg/parts-traced/bodies/body-2.svg deleted file mode 100644 index a63657f6..00000000 --- a/svg/parts-traced/bodies/body-2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 4d507e3addf143603bffaa4bc6145c73f3bd7af7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:23 -0700 Subject: [PATCH 0816/2079] chore: remove old body-3.svg --- svg/parts-traced/bodies/body-3.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/bodies/body-3.svg diff --git a/svg/parts-traced/bodies/body-3.svg b/svg/parts-traced/bodies/body-3.svg deleted file mode 100644 index f43bc251..00000000 --- a/svg/parts-traced/bodies/body-3.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 949f34ee5df11d88c8d08eb511749d1d6006e66a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:23 -0700 Subject: [PATCH 0817/2079] chore: remove old body-4.svg --- svg/parts-traced/bodies/body-4.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/bodies/body-4.svg diff --git a/svg/parts-traced/bodies/body-4.svg b/svg/parts-traced/bodies/body-4.svg deleted file mode 100644 index f9e6af49..00000000 --- a/svg/parts-traced/bodies/body-4.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From c955320a8684e2fffe79f7b30ca61fd4b5133131 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:24 -0700 Subject: [PATCH 0818/2079] chore: remove old body-5.svg --- svg/parts-traced/bodies/body-5.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/bodies/body-5.svg diff --git a/svg/parts-traced/bodies/body-5.svg b/svg/parts-traced/bodies/body-5.svg deleted file mode 100644 index 50366d70..00000000 --- a/svg/parts-traced/bodies/body-5.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From e5dbc2b1224f839698411ae83ae705a78e17180e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:24 -0700 Subject: [PATCH 0819/2079] chore: remove old body-6.svg --- svg/parts-traced/bodies/body-6.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/bodies/body-6.svg diff --git a/svg/parts-traced/bodies/body-6.svg b/svg/parts-traced/bodies/body-6.svg deleted file mode 100644 index 84a965a2..00000000 --- a/svg/parts-traced/bodies/body-6.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 482ba6164e3e2a241d4e58a29ad0fd609274442a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:24 -0700 Subject: [PATCH 0820/2079] chore: remove old body-7.svg --- svg/parts-traced/bodies/body-7.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/bodies/body-7.svg diff --git a/svg/parts-traced/bodies/body-7.svg b/svg/parts-traced/bodies/body-7.svg deleted file mode 100644 index 2b8cc49d..00000000 --- a/svg/parts-traced/bodies/body-7.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From e7c04aa40edd9496fd5f8b831fc057520ce7e4aa Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:25 -0700 Subject: [PATCH 0821/2079] chore: remove old body-8.svg --- svg/parts-traced/bodies/body-8.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/bodies/body-8.svg diff --git a/svg/parts-traced/bodies/body-8.svg b/svg/parts-traced/bodies/body-8.svg deleted file mode 100644 index 3b094663..00000000 --- a/svg/parts-traced/bodies/body-8.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 20a710fbb8142f612be715c9f04f02c25e586afb Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:25 -0700 Subject: [PATCH 0822/2079] chore: remove old body-9.svg --- svg/parts-traced/bodies/body-9.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/bodies/body-9.svg diff --git a/svg/parts-traced/bodies/body-9.svg b/svg/parts-traced/bodies/body-9.svg deleted file mode 100644 index a52ca340..00000000 --- a/svg/parts-traced/bodies/body-9.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 9caf5c5574f44b9a052d30fb9e042eea3a811e6f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:49 -0700 Subject: [PATCH 0823/2079] feat: 2D traced eyes band 0 --- svg/parts-traced/eyes/eye-0-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-0-0.svg diff --git a/svg/parts-traced/eyes/eye-0-0.svg b/svg/parts-traced/eyes/eye-0-0.svg new file mode 100644 index 00000000..40f85423 --- /dev/null +++ b/svg/parts-traced/eyes/eye-0-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5627251b89de2d75ca918fb7813dd95dcfe7148d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:50 -0700 Subject: [PATCH 0824/2079] feat: 2D traced eyes band 0 --- svg/parts-traced/eyes/eye-0-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-0-1.svg diff --git a/svg/parts-traced/eyes/eye-0-1.svg b/svg/parts-traced/eyes/eye-0-1.svg new file mode 100644 index 00000000..f568bbcb --- /dev/null +++ b/svg/parts-traced/eyes/eye-0-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From bad2c116c6368642d078d88f6feb2e0261c849e6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:50 -0700 Subject: [PATCH 0825/2079] feat: 2D traced eyes band 0 --- svg/parts-traced/eyes/eye-0-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-0-2.svg diff --git a/svg/parts-traced/eyes/eye-0-2.svg b/svg/parts-traced/eyes/eye-0-2.svg new file mode 100644 index 00000000..9607fbc6 --- /dev/null +++ b/svg/parts-traced/eyes/eye-0-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 6354ac015b26ba2651b39a4092b86c4ecc18c0fb Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:50 -0700 Subject: [PATCH 0826/2079] feat: 2D traced eyes band 0 --- svg/parts-traced/eyes/eye-0-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-0-3.svg diff --git a/svg/parts-traced/eyes/eye-0-3.svg b/svg/parts-traced/eyes/eye-0-3.svg new file mode 100644 index 00000000..b0a1216e --- /dev/null +++ b/svg/parts-traced/eyes/eye-0-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5f7d8d2f952bb85ced737d9633acaf012beb4b00 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:51 -0700 Subject: [PATCH 0827/2079] feat: 2D traced eyes band 0 --- svg/parts-traced/eyes/eye-0-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-0-4.svg diff --git a/svg/parts-traced/eyes/eye-0-4.svg b/svg/parts-traced/eyes/eye-0-4.svg new file mode 100644 index 00000000..ab1a0cc0 --- /dev/null +++ b/svg/parts-traced/eyes/eye-0-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 66189ed568eae9fa3c268a71c4fb0e00911dab47 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:51 -0700 Subject: [PATCH 0828/2079] feat: 2D traced eyes band 0 --- svg/parts-traced/eyes/eye-0-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-0-5.svg diff --git a/svg/parts-traced/eyes/eye-0-5.svg b/svg/parts-traced/eyes/eye-0-5.svg new file mode 100644 index 00000000..65e0f252 --- /dev/null +++ b/svg/parts-traced/eyes/eye-0-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9e1d455f89f9637dda5c5e506a4bff5a6fe990eb Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:52 -0700 Subject: [PATCH 0829/2079] feat: 2D traced eyes band 0 --- svg/parts-traced/eyes/eye-0-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-0-6.svg diff --git a/svg/parts-traced/eyes/eye-0-6.svg b/svg/parts-traced/eyes/eye-0-6.svg new file mode 100644 index 00000000..907496e6 --- /dev/null +++ b/svg/parts-traced/eyes/eye-0-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From a7ce812e64e6e583a28d24c5886abe1e6f37b0c5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:52 -0700 Subject: [PATCH 0830/2079] feat: 2D traced eyes band 0 --- svg/parts-traced/eyes/eye-0-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-0-7.svg diff --git a/svg/parts-traced/eyes/eye-0-7.svg b/svg/parts-traced/eyes/eye-0-7.svg new file mode 100644 index 00000000..09537c74 --- /dev/null +++ b/svg/parts-traced/eyes/eye-0-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2eefc3af801ce8fe3af5cadbbdc5897349bd0c52 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:53 -0700 Subject: [PATCH 0831/2079] feat: 2D traced eyes band 0 --- svg/parts-traced/eyes/eye-0-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-0-8.svg diff --git a/svg/parts-traced/eyes/eye-0-8.svg b/svg/parts-traced/eyes/eye-0-8.svg new file mode 100644 index 00000000..328cde45 --- /dev/null +++ b/svg/parts-traced/eyes/eye-0-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 224e173a3b65dfd51514021b8e3986ff1643e7a5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:53 -0700 Subject: [PATCH 0832/2079] feat: 2D traced eyes band 0 --- svg/parts-traced/eyes/eye-0-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-0-9.svg diff --git a/svg/parts-traced/eyes/eye-0-9.svg b/svg/parts-traced/eyes/eye-0-9.svg new file mode 100644 index 00000000..0410f1b4 --- /dev/null +++ b/svg/parts-traced/eyes/eye-0-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 8de513535cece7c215c745df55f21d192c78a84b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:54 -0700 Subject: [PATCH 0833/2079] feat: 2D traced eyes band 1 --- svg/parts-traced/eyes/eye-1-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-1-0.svg diff --git a/svg/parts-traced/eyes/eye-1-0.svg b/svg/parts-traced/eyes/eye-1-0.svg new file mode 100644 index 00000000..65e0f252 --- /dev/null +++ b/svg/parts-traced/eyes/eye-1-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 95af5b0cb40e0f408a044d914118aa2616026634 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:54 -0700 Subject: [PATCH 0834/2079] feat: 2D traced eyes band 1 --- svg/parts-traced/eyes/eye-1-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-1-1.svg diff --git a/svg/parts-traced/eyes/eye-1-1.svg b/svg/parts-traced/eyes/eye-1-1.svg new file mode 100644 index 00000000..d9239059 --- /dev/null +++ b/svg/parts-traced/eyes/eye-1-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From e0a05e40c13d7bedf09b5255c0ab1f50c77afb61 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:55 -0700 Subject: [PATCH 0835/2079] feat: 2D traced eyes band 1 --- svg/parts-traced/eyes/eye-1-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-1-2.svg diff --git a/svg/parts-traced/eyes/eye-1-2.svg b/svg/parts-traced/eyes/eye-1-2.svg new file mode 100644 index 00000000..5b49d4fb --- /dev/null +++ b/svg/parts-traced/eyes/eye-1-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From c711f8903142cad669c1e939e2b75675a1601a22 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:55 -0700 Subject: [PATCH 0836/2079] feat: 2D traced eyes band 1 --- svg/parts-traced/eyes/eye-1-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-1-3.svg diff --git a/svg/parts-traced/eyes/eye-1-3.svg b/svg/parts-traced/eyes/eye-1-3.svg new file mode 100644 index 00000000..ab1a0cc0 --- /dev/null +++ b/svg/parts-traced/eyes/eye-1-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 399812478402a411d1f293171e7fd534b07571b0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:56 -0700 Subject: [PATCH 0837/2079] feat: 2D traced eyes band 1 --- svg/parts-traced/eyes/eye-1-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-1-4.svg diff --git a/svg/parts-traced/eyes/eye-1-4.svg b/svg/parts-traced/eyes/eye-1-4.svg new file mode 100644 index 00000000..7067e597 --- /dev/null +++ b/svg/parts-traced/eyes/eye-1-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 761730443a7fca86d6e75900edc2346f7c5ebeb8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:56 -0700 Subject: [PATCH 0838/2079] feat: 2D traced eyes band 1 --- svg/parts-traced/eyes/eye-1-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-1-5.svg diff --git a/svg/parts-traced/eyes/eye-1-5.svg b/svg/parts-traced/eyes/eye-1-5.svg new file mode 100644 index 00000000..40f85423 --- /dev/null +++ b/svg/parts-traced/eyes/eye-1-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From b734762acc8b1c760bd532956f4c3048e7cc2a3c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:57 -0700 Subject: [PATCH 0839/2079] feat: 2D traced eyes band 1 --- svg/parts-traced/eyes/eye-1-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-1-6.svg diff --git a/svg/parts-traced/eyes/eye-1-6.svg b/svg/parts-traced/eyes/eye-1-6.svg new file mode 100644 index 00000000..328cde45 --- /dev/null +++ b/svg/parts-traced/eyes/eye-1-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 29c6fff500707efad71116c827c161cf77520357 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:57 -0700 Subject: [PATCH 0840/2079] feat: 2D traced eyes band 1 --- svg/parts-traced/eyes/eye-1-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-1-7.svg diff --git a/svg/parts-traced/eyes/eye-1-7.svg b/svg/parts-traced/eyes/eye-1-7.svg new file mode 100644 index 00000000..09537c74 --- /dev/null +++ b/svg/parts-traced/eyes/eye-1-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From e115db0567e3af0c407bb275986846d9d8b3093a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:58 -0700 Subject: [PATCH 0841/2079] feat: 2D traced eyes band 1 --- svg/parts-traced/eyes/eye-1-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-1-8.svg diff --git a/svg/parts-traced/eyes/eye-1-8.svg b/svg/parts-traced/eyes/eye-1-8.svg new file mode 100644 index 00000000..516d204c --- /dev/null +++ b/svg/parts-traced/eyes/eye-1-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 773a9d915bd47fb208356f3b7aa7e93849fead33 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:58 -0700 Subject: [PATCH 0842/2079] feat: 2D traced eyes band 1 --- svg/parts-traced/eyes/eye-1-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-1-9.svg diff --git a/svg/parts-traced/eyes/eye-1-9.svg b/svg/parts-traced/eyes/eye-1-9.svg new file mode 100644 index 00000000..9607fbc6 --- /dev/null +++ b/svg/parts-traced/eyes/eye-1-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 339396e443b5743ff37699090ddfeb2c49224f7d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:58 -0700 Subject: [PATCH 0843/2079] feat: 2D traced eyes band 2 --- svg/parts-traced/eyes/eye-2-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-2-0.svg diff --git a/svg/parts-traced/eyes/eye-2-0.svg b/svg/parts-traced/eyes/eye-2-0.svg new file mode 100644 index 00000000..65e0f252 --- /dev/null +++ b/svg/parts-traced/eyes/eye-2-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2a561f854dee69d0d947b8e8505cda868d9a2eb5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:59 -0700 Subject: [PATCH 0844/2079] feat: 2D traced eyes band 2 --- svg/parts-traced/eyes/eye-2-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-2-1.svg diff --git a/svg/parts-traced/eyes/eye-2-1.svg b/svg/parts-traced/eyes/eye-2-1.svg new file mode 100644 index 00000000..40f85423 --- /dev/null +++ b/svg/parts-traced/eyes/eye-2-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From d5b7e32aac666a0701d9580a94617b9f474c3849 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:38:59 -0700 Subject: [PATCH 0845/2079] feat: 2D traced eyes band 2 --- svg/parts-traced/eyes/eye-2-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-2-2.svg diff --git a/svg/parts-traced/eyes/eye-2-2.svg b/svg/parts-traced/eyes/eye-2-2.svg new file mode 100644 index 00000000..d7a58c70 --- /dev/null +++ b/svg/parts-traced/eyes/eye-2-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7d6527ce484a5b02f3d6bc3e01bb8d5c7b9c8a13 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:00 -0700 Subject: [PATCH 0846/2079] feat: 2D traced eyes band 2 --- svg/parts-traced/eyes/eye-2-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-2-3.svg diff --git a/svg/parts-traced/eyes/eye-2-3.svg b/svg/parts-traced/eyes/eye-2-3.svg new file mode 100644 index 00000000..09537c74 --- /dev/null +++ b/svg/parts-traced/eyes/eye-2-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5a60bee5072b05115a4d76145425e0d10f7ef9a8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:00 -0700 Subject: [PATCH 0847/2079] feat: 2D traced eyes band 2 --- svg/parts-traced/eyes/eye-2-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-2-4.svg diff --git a/svg/parts-traced/eyes/eye-2-4.svg b/svg/parts-traced/eyes/eye-2-4.svg new file mode 100644 index 00000000..32212c4d --- /dev/null +++ b/svg/parts-traced/eyes/eye-2-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From b322b621c95e7c58553c65721972c1ef227aec5f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:01 -0700 Subject: [PATCH 0848/2079] feat: 2D traced eyes band 2 --- svg/parts-traced/eyes/eye-2-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-2-5.svg diff --git a/svg/parts-traced/eyes/eye-2-5.svg b/svg/parts-traced/eyes/eye-2-5.svg new file mode 100644 index 00000000..bab5229c --- /dev/null +++ b/svg/parts-traced/eyes/eye-2-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 8eef8e40c67f83aa2f7bc0e677485f65e75b9e91 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:01 -0700 Subject: [PATCH 0849/2079] feat: 2D traced eyes band 2 --- svg/parts-traced/eyes/eye-2-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-2-6.svg diff --git a/svg/parts-traced/eyes/eye-2-6.svg b/svg/parts-traced/eyes/eye-2-6.svg new file mode 100644 index 00000000..9607fbc6 --- /dev/null +++ b/svg/parts-traced/eyes/eye-2-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From cbac9e1048271ac1d2198a7287dca1cc21f785de Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:02 -0700 Subject: [PATCH 0850/2079] feat: 2D traced eyes band 2 --- svg/parts-traced/eyes/eye-2-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-2-7.svg diff --git a/svg/parts-traced/eyes/eye-2-7.svg b/svg/parts-traced/eyes/eye-2-7.svg new file mode 100644 index 00000000..328cde45 --- /dev/null +++ b/svg/parts-traced/eyes/eye-2-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From d3feff399ad08afa55a2709f08c483729468c069 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:02 -0700 Subject: [PATCH 0851/2079] feat: 2D traced eyes band 2 --- svg/parts-traced/eyes/eye-2-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-2-8.svg diff --git a/svg/parts-traced/eyes/eye-2-8.svg b/svg/parts-traced/eyes/eye-2-8.svg new file mode 100644 index 00000000..a373b525 --- /dev/null +++ b/svg/parts-traced/eyes/eye-2-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2f84efd655d6b4ce5ae81899962c3fa38b7a6548 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:03 -0700 Subject: [PATCH 0852/2079] feat: 2D traced eyes band 2 --- svg/parts-traced/eyes/eye-2-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-2-9.svg diff --git a/svg/parts-traced/eyes/eye-2-9.svg b/svg/parts-traced/eyes/eye-2-9.svg new file mode 100644 index 00000000..ab1a0cc0 --- /dev/null +++ b/svg/parts-traced/eyes/eye-2-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9f8fdb48232d5e3fe9b8cce8f303b50a8fa7f90f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:03 -0700 Subject: [PATCH 0853/2079] feat: 2D traced eyes band 3 --- svg/parts-traced/eyes/eye-3-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-3-0.svg diff --git a/svg/parts-traced/eyes/eye-3-0.svg b/svg/parts-traced/eyes/eye-3-0.svg new file mode 100644 index 00000000..99f493c8 --- /dev/null +++ b/svg/parts-traced/eyes/eye-3-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 092ee67a19b9a9d05ba52c66669f68092b361444 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:04 -0700 Subject: [PATCH 0854/2079] feat: 2D traced eyes band 3 --- svg/parts-traced/eyes/eye-3-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-3-1.svg diff --git a/svg/parts-traced/eyes/eye-3-1.svg b/svg/parts-traced/eyes/eye-3-1.svg new file mode 100644 index 00000000..9a44db99 --- /dev/null +++ b/svg/parts-traced/eyes/eye-3-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 0d46523ea99d769732d54c1e64acd3cf2ff1c6c0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:04 -0700 Subject: [PATCH 0855/2079] feat: 2D traced eyes band 3 --- svg/parts-traced/eyes/eye-3-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-3-2.svg diff --git a/svg/parts-traced/eyes/eye-3-2.svg b/svg/parts-traced/eyes/eye-3-2.svg new file mode 100644 index 00000000..2ada4736 --- /dev/null +++ b/svg/parts-traced/eyes/eye-3-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 858fb87ab62df9a940e0f742071100ce6fe3dec8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:05 -0700 Subject: [PATCH 0856/2079] feat: 2D traced eyes band 3 --- svg/parts-traced/eyes/eye-3-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-3-3.svg diff --git a/svg/parts-traced/eyes/eye-3-3.svg b/svg/parts-traced/eyes/eye-3-3.svg new file mode 100644 index 00000000..328cde45 --- /dev/null +++ b/svg/parts-traced/eyes/eye-3-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 049070eda85ec72998a7dd04528c1dc180aa4a13 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:05 -0700 Subject: [PATCH 0857/2079] feat: 2D traced eyes band 3 --- svg/parts-traced/eyes/eye-3-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-3-4.svg diff --git a/svg/parts-traced/eyes/eye-3-4.svg b/svg/parts-traced/eyes/eye-3-4.svg new file mode 100644 index 00000000..ab1a0cc0 --- /dev/null +++ b/svg/parts-traced/eyes/eye-3-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3f297bc98f5bb7e85f80ebcd9ef733cb181880af Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:06 -0700 Subject: [PATCH 0858/2079] feat: 2D traced eyes band 3 --- svg/parts-traced/eyes/eye-3-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-3-5.svg diff --git a/svg/parts-traced/eyes/eye-3-5.svg b/svg/parts-traced/eyes/eye-3-5.svg new file mode 100644 index 00000000..eab77184 --- /dev/null +++ b/svg/parts-traced/eyes/eye-3-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 74f7edc9b7f7321ef9a8788e4666b608405c84ed Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:06 -0700 Subject: [PATCH 0859/2079] feat: 2D traced eyes band 3 --- svg/parts-traced/eyes/eye-3-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-3-6.svg diff --git a/svg/parts-traced/eyes/eye-3-6.svg b/svg/parts-traced/eyes/eye-3-6.svg new file mode 100644 index 00000000..40f85423 --- /dev/null +++ b/svg/parts-traced/eyes/eye-3-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From d12e0aa6d06daa2bb0de7986a42442d7b1e41ad3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:07 -0700 Subject: [PATCH 0860/2079] feat: 2D traced eyes band 3 --- svg/parts-traced/eyes/eye-3-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-3-7.svg diff --git a/svg/parts-traced/eyes/eye-3-7.svg b/svg/parts-traced/eyes/eye-3-7.svg new file mode 100644 index 00000000..cb41bf4e --- /dev/null +++ b/svg/parts-traced/eyes/eye-3-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From c343c7bab6c19e492107e021a30a23b256a6c93a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:07 -0700 Subject: [PATCH 0861/2079] feat: 2D traced eyes band 3 --- svg/parts-traced/eyes/eye-3-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-3-8.svg diff --git a/svg/parts-traced/eyes/eye-3-8.svg b/svg/parts-traced/eyes/eye-3-8.svg new file mode 100644 index 00000000..34599826 --- /dev/null +++ b/svg/parts-traced/eyes/eye-3-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 99e2972a99812331223fec42f692f7684af708ad Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:08 -0700 Subject: [PATCH 0862/2079] feat: 2D traced eyes band 3 --- svg/parts-traced/eyes/eye-3-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-3-9.svg diff --git a/svg/parts-traced/eyes/eye-3-9.svg b/svg/parts-traced/eyes/eye-3-9.svg new file mode 100644 index 00000000..1c1bc8ca --- /dev/null +++ b/svg/parts-traced/eyes/eye-3-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 16bea004b1f490eba2c28322350d6086ab95ac84 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:08 -0700 Subject: [PATCH 0863/2079] feat: 2D traced eyes band 4 --- svg/parts-traced/eyes/eye-4-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-4-0.svg diff --git a/svg/parts-traced/eyes/eye-4-0.svg b/svg/parts-traced/eyes/eye-4-0.svg new file mode 100644 index 00000000..65e0f252 --- /dev/null +++ b/svg/parts-traced/eyes/eye-4-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 731457cafba2c5001cfe31b30d12159a2ec32745 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:09 -0700 Subject: [PATCH 0864/2079] feat: 2D traced eyes band 4 --- svg/parts-traced/eyes/eye-4-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-4-1.svg diff --git a/svg/parts-traced/eyes/eye-4-1.svg b/svg/parts-traced/eyes/eye-4-1.svg new file mode 100644 index 00000000..09537c74 --- /dev/null +++ b/svg/parts-traced/eyes/eye-4-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From ea5aa2ab4635c782296bc4283c8e5860118a18b6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:09 -0700 Subject: [PATCH 0865/2079] feat: 2D traced eyes band 4 --- svg/parts-traced/eyes/eye-4-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-4-2.svg diff --git a/svg/parts-traced/eyes/eye-4-2.svg b/svg/parts-traced/eyes/eye-4-2.svg new file mode 100644 index 00000000..03a4e8d1 --- /dev/null +++ b/svg/parts-traced/eyes/eye-4-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From aeb43ed582c5d4ef70a25c7a633ce386253d47c3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:10 -0700 Subject: [PATCH 0866/2079] feat: 2D traced eyes band 4 --- svg/parts-traced/eyes/eye-4-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-4-3.svg diff --git a/svg/parts-traced/eyes/eye-4-3.svg b/svg/parts-traced/eyes/eye-4-3.svg new file mode 100644 index 00000000..21a64c1c --- /dev/null +++ b/svg/parts-traced/eyes/eye-4-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 8b9fa9f60580cad4cf03bbaf3bf3c93b164d1d82 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:10 -0700 Subject: [PATCH 0867/2079] feat: 2D traced eyes band 4 --- svg/parts-traced/eyes/eye-4-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-4-4.svg diff --git a/svg/parts-traced/eyes/eye-4-4.svg b/svg/parts-traced/eyes/eye-4-4.svg new file mode 100644 index 00000000..713230e5 --- /dev/null +++ b/svg/parts-traced/eyes/eye-4-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 8684983c5129eeff3bbf385bdefcd220bbf6476a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:11 -0700 Subject: [PATCH 0868/2079] feat: 2D traced eyes band 4 --- svg/parts-traced/eyes/eye-4-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-4-5.svg diff --git a/svg/parts-traced/eyes/eye-4-5.svg b/svg/parts-traced/eyes/eye-4-5.svg new file mode 100644 index 00000000..9607fbc6 --- /dev/null +++ b/svg/parts-traced/eyes/eye-4-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 85c9ff7ad72400e81632ac294fa01b557d36adee Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:11 -0700 Subject: [PATCH 0869/2079] feat: 2D traced eyes band 4 --- svg/parts-traced/eyes/eye-4-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-4-6.svg diff --git a/svg/parts-traced/eyes/eye-4-6.svg b/svg/parts-traced/eyes/eye-4-6.svg new file mode 100644 index 00000000..98a73af7 --- /dev/null +++ b/svg/parts-traced/eyes/eye-4-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From c218431cbdfc703da8114b7f945b1e33ccfd4459 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:12 -0700 Subject: [PATCH 0870/2079] feat: 2D traced eyes band 4 --- svg/parts-traced/eyes/eye-4-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-4-7.svg diff --git a/svg/parts-traced/eyes/eye-4-7.svg b/svg/parts-traced/eyes/eye-4-7.svg new file mode 100644 index 00000000..40f85423 --- /dev/null +++ b/svg/parts-traced/eyes/eye-4-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 51fed122b7825a7cde2a43e4b422e8138d90aa9c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:12 -0700 Subject: [PATCH 0871/2079] feat: 2D traced eyes band 4 --- svg/parts-traced/eyes/eye-4-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-4-8.svg diff --git a/svg/parts-traced/eyes/eye-4-8.svg b/svg/parts-traced/eyes/eye-4-8.svg new file mode 100644 index 00000000..328cde45 --- /dev/null +++ b/svg/parts-traced/eyes/eye-4-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From b89302737032e3eb45dfbb3a3b38d3d303892829 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:13 -0700 Subject: [PATCH 0872/2079] feat: 2D traced eyes band 4 --- svg/parts-traced/eyes/eye-4-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-4-9.svg diff --git a/svg/parts-traced/eyes/eye-4-9.svg b/svg/parts-traced/eyes/eye-4-9.svg new file mode 100644 index 00000000..ab1a0cc0 --- /dev/null +++ b/svg/parts-traced/eyes/eye-4-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From c0e04737487a7b8dc0acf1ab102bb1c1363a8814 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:13 -0700 Subject: [PATCH 0873/2079] feat: 2D traced eyes band 5 --- svg/parts-traced/eyes/eye-5-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-5-0.svg diff --git a/svg/parts-traced/eyes/eye-5-0.svg b/svg/parts-traced/eyes/eye-5-0.svg new file mode 100644 index 00000000..9a44db99 --- /dev/null +++ b/svg/parts-traced/eyes/eye-5-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 204a8868b471c631f2eb510043b609ad46717fe5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:14 -0700 Subject: [PATCH 0874/2079] feat: 2D traced eyes band 5 --- svg/parts-traced/eyes/eye-5-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-5-1.svg diff --git a/svg/parts-traced/eyes/eye-5-1.svg b/svg/parts-traced/eyes/eye-5-1.svg new file mode 100644 index 00000000..34599826 --- /dev/null +++ b/svg/parts-traced/eyes/eye-5-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 6d32dfdb25fec6a49e86b017a41655ca422a8fb4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:14 -0700 Subject: [PATCH 0875/2079] feat: 2D traced eyes band 5 --- svg/parts-traced/eyes/eye-5-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-5-2.svg diff --git a/svg/parts-traced/eyes/eye-5-2.svg b/svg/parts-traced/eyes/eye-5-2.svg new file mode 100644 index 00000000..43ba31f9 --- /dev/null +++ b/svg/parts-traced/eyes/eye-5-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3db9fc948653b13e935b99cd4c2849561599402f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:15 -0700 Subject: [PATCH 0876/2079] feat: 2D traced eyes band 5 --- svg/parts-traced/eyes/eye-5-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-5-3.svg diff --git a/svg/parts-traced/eyes/eye-5-3.svg b/svg/parts-traced/eyes/eye-5-3.svg new file mode 100644 index 00000000..8d4ee0ce --- /dev/null +++ b/svg/parts-traced/eyes/eye-5-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From aed6e3f1f3cd84d22d0da6ff97e17ca40a56d084 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:15 -0700 Subject: [PATCH 0877/2079] feat: 2D traced eyes band 5 --- svg/parts-traced/eyes/eye-5-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-5-4.svg diff --git a/svg/parts-traced/eyes/eye-5-4.svg b/svg/parts-traced/eyes/eye-5-4.svg new file mode 100644 index 00000000..eab77184 --- /dev/null +++ b/svg/parts-traced/eyes/eye-5-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9ab97aba91b5917853005adda555e594b72414ae Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:16 -0700 Subject: [PATCH 0878/2079] feat: 2D traced eyes band 5 --- svg/parts-traced/eyes/eye-5-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-5-5.svg diff --git a/svg/parts-traced/eyes/eye-5-5.svg b/svg/parts-traced/eyes/eye-5-5.svg new file mode 100644 index 00000000..f025cdb3 --- /dev/null +++ b/svg/parts-traced/eyes/eye-5-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2c8a690776856473711d373fafa5551dcd4db441 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:16 -0700 Subject: [PATCH 0879/2079] feat: 2D traced eyes band 5 --- svg/parts-traced/eyes/eye-5-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-5-6.svg diff --git a/svg/parts-traced/eyes/eye-5-6.svg b/svg/parts-traced/eyes/eye-5-6.svg new file mode 100644 index 00000000..f3243128 --- /dev/null +++ b/svg/parts-traced/eyes/eye-5-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 945002356153d962349de399c9708f2473d9889f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:17 -0700 Subject: [PATCH 0880/2079] feat: 2D traced eyes band 5 --- svg/parts-traced/eyes/eye-5-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-5-7.svg diff --git a/svg/parts-traced/eyes/eye-5-7.svg b/svg/parts-traced/eyes/eye-5-7.svg new file mode 100644 index 00000000..40f85423 --- /dev/null +++ b/svg/parts-traced/eyes/eye-5-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 6983f417e02a6a3489789ae254c9a37af3840a12 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:17 -0700 Subject: [PATCH 0881/2079] feat: 2D traced eyes band 5 --- svg/parts-traced/eyes/eye-5-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-5-8.svg diff --git a/svg/parts-traced/eyes/eye-5-8.svg b/svg/parts-traced/eyes/eye-5-8.svg new file mode 100644 index 00000000..328cde45 --- /dev/null +++ b/svg/parts-traced/eyes/eye-5-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From a1e5114f5211abc5601d46e3088ba0dddbb05e97 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:18 -0700 Subject: [PATCH 0882/2079] feat: 2D traced eyes band 5 --- svg/parts-traced/eyes/eye-5-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-5-9.svg diff --git a/svg/parts-traced/eyes/eye-5-9.svg b/svg/parts-traced/eyes/eye-5-9.svg new file mode 100644 index 00000000..ab1a0cc0 --- /dev/null +++ b/svg/parts-traced/eyes/eye-5-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 0a110d5b8ebbaf988687731ebcde34bbee35ed66 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:18 -0700 Subject: [PATCH 0883/2079] feat: 2D traced eyes band 6 --- svg/parts-traced/eyes/eye-6-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-6-0.svg diff --git a/svg/parts-traced/eyes/eye-6-0.svg b/svg/parts-traced/eyes/eye-6-0.svg new file mode 100644 index 00000000..f48f92dc --- /dev/null +++ b/svg/parts-traced/eyes/eye-6-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From fca1af7471ead079d7d424d5c6f0914113080fb8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:19 -0700 Subject: [PATCH 0884/2079] feat: 2D traced eyes band 6 --- svg/parts-traced/eyes/eye-6-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-6-1.svg diff --git a/svg/parts-traced/eyes/eye-6-1.svg b/svg/parts-traced/eyes/eye-6-1.svg new file mode 100644 index 00000000..328cde45 --- /dev/null +++ b/svg/parts-traced/eyes/eye-6-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From c6647cff78eff9078a1e7591a9dca7792c71e564 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:19 -0700 Subject: [PATCH 0885/2079] feat: 2D traced eyes band 6 --- svg/parts-traced/eyes/eye-6-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-6-2.svg diff --git a/svg/parts-traced/eyes/eye-6-2.svg b/svg/parts-traced/eyes/eye-6-2.svg new file mode 100644 index 00000000..0e1a6e97 --- /dev/null +++ b/svg/parts-traced/eyes/eye-6-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 1a4c048d1269776b72c2f5d151f65c11cfdc2f83 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:20 -0700 Subject: [PATCH 0886/2079] feat: 2D traced eyes band 6 --- svg/parts-traced/eyes/eye-6-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-6-3.svg diff --git a/svg/parts-traced/eyes/eye-6-3.svg b/svg/parts-traced/eyes/eye-6-3.svg new file mode 100644 index 00000000..eab77184 --- /dev/null +++ b/svg/parts-traced/eyes/eye-6-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 781fb057fb25f7808bc20baab8721a0c262eacf9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:20 -0700 Subject: [PATCH 0887/2079] feat: 2D traced eyes band 6 --- svg/parts-traced/eyes/eye-6-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-6-4.svg diff --git a/svg/parts-traced/eyes/eye-6-4.svg b/svg/parts-traced/eyes/eye-6-4.svg new file mode 100644 index 00000000..ab1a0cc0 --- /dev/null +++ b/svg/parts-traced/eyes/eye-6-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From d456f52a25e62b6d75745eae2dd22f08acadca82 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:21 -0700 Subject: [PATCH 0888/2079] feat: 2D traced eyes band 6 --- svg/parts-traced/eyes/eye-6-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-6-5.svg diff --git a/svg/parts-traced/eyes/eye-6-5.svg b/svg/parts-traced/eyes/eye-6-5.svg new file mode 100644 index 00000000..34599826 --- /dev/null +++ b/svg/parts-traced/eyes/eye-6-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5812a01d40908dfb7c8d6fdd49ff490efc956517 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:21 -0700 Subject: [PATCH 0889/2079] feat: 2D traced eyes band 6 --- svg/parts-traced/eyes/eye-6-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-6-6.svg diff --git a/svg/parts-traced/eyes/eye-6-6.svg b/svg/parts-traced/eyes/eye-6-6.svg new file mode 100644 index 00000000..40f85423 --- /dev/null +++ b/svg/parts-traced/eyes/eye-6-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From cb6e29d85ef63bb822f1cc7b9d3a3d4d554774e3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:21 -0700 Subject: [PATCH 0890/2079] feat: 2D traced eyes band 6 --- svg/parts-traced/eyes/eye-6-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-6-7.svg diff --git a/svg/parts-traced/eyes/eye-6-7.svg b/svg/parts-traced/eyes/eye-6-7.svg new file mode 100644 index 00000000..90e26ee2 --- /dev/null +++ b/svg/parts-traced/eyes/eye-6-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3156c624396cf71249afa62fe1e00ff049b812a4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:22 -0700 Subject: [PATCH 0891/2079] feat: 2D traced eyes band 6 --- svg/parts-traced/eyes/eye-6-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-6-8.svg diff --git a/svg/parts-traced/eyes/eye-6-8.svg b/svg/parts-traced/eyes/eye-6-8.svg new file mode 100644 index 00000000..9fa200b6 --- /dev/null +++ b/svg/parts-traced/eyes/eye-6-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 091707ded6e075a3d94ea484ba3e78bed5c82f76 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:22 -0700 Subject: [PATCH 0892/2079] feat: 2D traced eyes band 6 --- svg/parts-traced/eyes/eye-6-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-6-9.svg diff --git a/svg/parts-traced/eyes/eye-6-9.svg b/svg/parts-traced/eyes/eye-6-9.svg new file mode 100644 index 00000000..9a44db99 --- /dev/null +++ b/svg/parts-traced/eyes/eye-6-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 16498d04f9210e94550588fb581b2585725292af Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:23 -0700 Subject: [PATCH 0893/2079] feat: 2D traced eyes band 7 --- svg/parts-traced/eyes/eye-7-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-7-0.svg diff --git a/svg/parts-traced/eyes/eye-7-0.svg b/svg/parts-traced/eyes/eye-7-0.svg new file mode 100644 index 00000000..40f85423 --- /dev/null +++ b/svg/parts-traced/eyes/eye-7-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9f5ed2bd0969bb60ebe82073bb27f0586155a799 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:23 -0700 Subject: [PATCH 0894/2079] feat: 2D traced eyes band 7 --- svg/parts-traced/eyes/eye-7-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-7-1.svg diff --git a/svg/parts-traced/eyes/eye-7-1.svg b/svg/parts-traced/eyes/eye-7-1.svg new file mode 100644 index 00000000..a86a96a0 --- /dev/null +++ b/svg/parts-traced/eyes/eye-7-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 8b2f77a79feb027fae437e996aa5d14957517148 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:24 -0700 Subject: [PATCH 0895/2079] feat: 2D traced eyes band 7 --- svg/parts-traced/eyes/eye-7-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-7-2.svg diff --git a/svg/parts-traced/eyes/eye-7-2.svg b/svg/parts-traced/eyes/eye-7-2.svg new file mode 100644 index 00000000..21743ebd --- /dev/null +++ b/svg/parts-traced/eyes/eye-7-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7740d62262ec956b68317e0baf6f2c56740e0c3b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:24 -0700 Subject: [PATCH 0896/2079] feat: 2D traced eyes band 7 --- svg/parts-traced/eyes/eye-7-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-7-3.svg diff --git a/svg/parts-traced/eyes/eye-7-3.svg b/svg/parts-traced/eyes/eye-7-3.svg new file mode 100644 index 00000000..123bf8b2 --- /dev/null +++ b/svg/parts-traced/eyes/eye-7-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 257b3e68d449aec99b904eea4d6591e51b4994ab Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:25 -0700 Subject: [PATCH 0897/2079] feat: 2D traced eyes band 7 --- svg/parts-traced/eyes/eye-7-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-7-4.svg diff --git a/svg/parts-traced/eyes/eye-7-4.svg b/svg/parts-traced/eyes/eye-7-4.svg new file mode 100644 index 00000000..bdade3b0 --- /dev/null +++ b/svg/parts-traced/eyes/eye-7-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 0721ab80632d7afa56f4a57ee27e0e42c5192b08 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:25 -0700 Subject: [PATCH 0898/2079] feat: 2D traced eyes band 7 --- svg/parts-traced/eyes/eye-7-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-7-5.svg diff --git a/svg/parts-traced/eyes/eye-7-5.svg b/svg/parts-traced/eyes/eye-7-5.svg new file mode 100644 index 00000000..9a44db99 --- /dev/null +++ b/svg/parts-traced/eyes/eye-7-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3bb6c7873c0894afdb26190bda2b114713c92bb2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:26 -0700 Subject: [PATCH 0899/2079] feat: 2D traced eyes band 7 --- svg/parts-traced/eyes/eye-7-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-7-6.svg diff --git a/svg/parts-traced/eyes/eye-7-6.svg b/svg/parts-traced/eyes/eye-7-6.svg new file mode 100644 index 00000000..34599826 --- /dev/null +++ b/svg/parts-traced/eyes/eye-7-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From fc3401a1076867f63eb0607438f7e9ae4fd5aaa3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:26 -0700 Subject: [PATCH 0900/2079] feat: 2D traced eyes band 7 --- svg/parts-traced/eyes/eye-7-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-7-7.svg diff --git a/svg/parts-traced/eyes/eye-7-7.svg b/svg/parts-traced/eyes/eye-7-7.svg new file mode 100644 index 00000000..eab77184 --- /dev/null +++ b/svg/parts-traced/eyes/eye-7-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From aaf6450b105d4a28e513b8ad9099bbe5e969873b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:27 -0700 Subject: [PATCH 0901/2079] feat: 2D traced eyes band 7 --- svg/parts-traced/eyes/eye-7-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-7-8.svg diff --git a/svg/parts-traced/eyes/eye-7-8.svg b/svg/parts-traced/eyes/eye-7-8.svg new file mode 100644 index 00000000..ab1a0cc0 --- /dev/null +++ b/svg/parts-traced/eyes/eye-7-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 97bab4c227c498c1a758abd8899c9858dcd2b244 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:27 -0700 Subject: [PATCH 0902/2079] feat: 2D traced eyes band 7 --- svg/parts-traced/eyes/eye-7-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-7-9.svg diff --git a/svg/parts-traced/eyes/eye-7-9.svg b/svg/parts-traced/eyes/eye-7-9.svg new file mode 100644 index 00000000..328cde45 --- /dev/null +++ b/svg/parts-traced/eyes/eye-7-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 4760aef29ba35f981db2ec55af33942185dab3f8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:28 -0700 Subject: [PATCH 0903/2079] feat: 2D traced eyes band 8 --- svg/parts-traced/eyes/eye-8-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-8-0.svg diff --git a/svg/parts-traced/eyes/eye-8-0.svg b/svg/parts-traced/eyes/eye-8-0.svg new file mode 100644 index 00000000..40f85423 --- /dev/null +++ b/svg/parts-traced/eyes/eye-8-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 1d15c6cb71e0e4501dff15a21f16f5f78ad53e51 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:28 -0700 Subject: [PATCH 0904/2079] feat: 2D traced eyes band 8 --- svg/parts-traced/eyes/eye-8-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-8-1.svg diff --git a/svg/parts-traced/eyes/eye-8-1.svg b/svg/parts-traced/eyes/eye-8-1.svg new file mode 100644 index 00000000..9607fbc6 --- /dev/null +++ b/svg/parts-traced/eyes/eye-8-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From ebbbfeb6047e5f188d77cc87397a99e0a84b0111 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:29 -0700 Subject: [PATCH 0905/2079] feat: 2D traced eyes band 8 --- svg/parts-traced/eyes/eye-8-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-8-2.svg diff --git a/svg/parts-traced/eyes/eye-8-2.svg b/svg/parts-traced/eyes/eye-8-2.svg new file mode 100644 index 00000000..ab1a0cc0 --- /dev/null +++ b/svg/parts-traced/eyes/eye-8-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From d4f5d1c6c064ac4105210b79278a8a308eaf6f18 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:29 -0700 Subject: [PATCH 0906/2079] feat: 2D traced eyes band 8 --- svg/parts-traced/eyes/eye-8-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-8-3.svg diff --git a/svg/parts-traced/eyes/eye-8-3.svg b/svg/parts-traced/eyes/eye-8-3.svg new file mode 100644 index 00000000..422f7555 --- /dev/null +++ b/svg/parts-traced/eyes/eye-8-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 55aa7723ff1741626b931d3af0ad9fb048e0cd6a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:30 -0700 Subject: [PATCH 0907/2079] feat: 2D traced eyes band 8 --- svg/parts-traced/eyes/eye-8-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-8-4.svg diff --git a/svg/parts-traced/eyes/eye-8-4.svg b/svg/parts-traced/eyes/eye-8-4.svg new file mode 100644 index 00000000..4b6c27e9 --- /dev/null +++ b/svg/parts-traced/eyes/eye-8-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9712bd04f9e6877ddba53b2351d90cebb7f1dfdd Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:30 -0700 Subject: [PATCH 0908/2079] feat: 2D traced eyes band 8 --- svg/parts-traced/eyes/eye-8-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-8-5.svg diff --git a/svg/parts-traced/eyes/eye-8-5.svg b/svg/parts-traced/eyes/eye-8-5.svg new file mode 100644 index 00000000..a16379ef --- /dev/null +++ b/svg/parts-traced/eyes/eye-8-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 1843cd2411e4516460c73a035c4cce4683a788c9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:30 -0700 Subject: [PATCH 0909/2079] feat: 2D traced eyes band 8 --- svg/parts-traced/eyes/eye-8-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-8-6.svg diff --git a/svg/parts-traced/eyes/eye-8-6.svg b/svg/parts-traced/eyes/eye-8-6.svg new file mode 100644 index 00000000..5b7a8d4f --- /dev/null +++ b/svg/parts-traced/eyes/eye-8-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From eb822be02c1d01c6dcbad09980a02b7029cafe7a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:31 -0700 Subject: [PATCH 0910/2079] feat: 2D traced eyes band 8 --- svg/parts-traced/eyes/eye-8-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-8-7.svg diff --git a/svg/parts-traced/eyes/eye-8-7.svg b/svg/parts-traced/eyes/eye-8-7.svg new file mode 100644 index 00000000..93b2b707 --- /dev/null +++ b/svg/parts-traced/eyes/eye-8-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5a9c243bc4d375a10707aa936834abbcd09b1b71 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:31 -0700 Subject: [PATCH 0911/2079] feat: 2D traced eyes band 8 --- svg/parts-traced/eyes/eye-8-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-8-8.svg diff --git a/svg/parts-traced/eyes/eye-8-8.svg b/svg/parts-traced/eyes/eye-8-8.svg new file mode 100644 index 00000000..328cde45 --- /dev/null +++ b/svg/parts-traced/eyes/eye-8-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From a59558a6a45fa6e14719c53cfaa4189b3c0258dc Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:32 -0700 Subject: [PATCH 0912/2079] feat: 2D traced eyes band 8 --- svg/parts-traced/eyes/eye-8-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-8-9.svg diff --git a/svg/parts-traced/eyes/eye-8-9.svg b/svg/parts-traced/eyes/eye-8-9.svg new file mode 100644 index 00000000..09537c74 --- /dev/null +++ b/svg/parts-traced/eyes/eye-8-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 94bb0f3dd511f02f63a3f41105705842bd210c1f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:33 -0700 Subject: [PATCH 0913/2079] feat: 2D traced eyes band 9 --- svg/parts-traced/eyes/eye-9-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-9-0.svg diff --git a/svg/parts-traced/eyes/eye-9-0.svg b/svg/parts-traced/eyes/eye-9-0.svg new file mode 100644 index 00000000..eab77184 --- /dev/null +++ b/svg/parts-traced/eyes/eye-9-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5bede68e929ee4f3b8dd69fb543c7dc76258c036 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:33 -0700 Subject: [PATCH 0914/2079] feat: 2D traced eyes band 9 --- svg/parts-traced/eyes/eye-9-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-9-1.svg diff --git a/svg/parts-traced/eyes/eye-9-1.svg b/svg/parts-traced/eyes/eye-9-1.svg new file mode 100644 index 00000000..1dee9033 --- /dev/null +++ b/svg/parts-traced/eyes/eye-9-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From ae361999dc2b29aab7e052b1d681070e7b3337bc Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:34 -0700 Subject: [PATCH 0915/2079] feat: 2D traced eyes band 9 --- svg/parts-traced/eyes/eye-9-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-9-2.svg diff --git a/svg/parts-traced/eyes/eye-9-2.svg b/svg/parts-traced/eyes/eye-9-2.svg new file mode 100644 index 00000000..93eb3a0b --- /dev/null +++ b/svg/parts-traced/eyes/eye-9-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From d27b53ce5565e8d83b8928d7a3efadc41fecdd74 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:34 -0700 Subject: [PATCH 0916/2079] feat: 2D traced eyes band 9 --- svg/parts-traced/eyes/eye-9-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-9-3.svg diff --git a/svg/parts-traced/eyes/eye-9-3.svg b/svg/parts-traced/eyes/eye-9-3.svg new file mode 100644 index 00000000..ab1a0cc0 --- /dev/null +++ b/svg/parts-traced/eyes/eye-9-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5bc38dffd94ed940e737aba073175ed988768e86 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:35 -0700 Subject: [PATCH 0917/2079] feat: 2D traced eyes band 9 --- svg/parts-traced/eyes/eye-9-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-9-4.svg diff --git a/svg/parts-traced/eyes/eye-9-4.svg b/svg/parts-traced/eyes/eye-9-4.svg new file mode 100644 index 00000000..40f85423 --- /dev/null +++ b/svg/parts-traced/eyes/eye-9-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 68a508f6ed19683b2b15fd1947b712e020c20db7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:35 -0700 Subject: [PATCH 0918/2079] feat: 2D traced eyes band 9 --- svg/parts-traced/eyes/eye-9-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-9-5.svg diff --git a/svg/parts-traced/eyes/eye-9-5.svg b/svg/parts-traced/eyes/eye-9-5.svg new file mode 100644 index 00000000..34599826 --- /dev/null +++ b/svg/parts-traced/eyes/eye-9-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From c094718b5efa2c0c5b4d2b4716c682c192d72c4a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:36 -0700 Subject: [PATCH 0919/2079] feat: 2D traced eyes band 9 --- svg/parts-traced/eyes/eye-9-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-9-6.svg diff --git a/svg/parts-traced/eyes/eye-9-6.svg b/svg/parts-traced/eyes/eye-9-6.svg new file mode 100644 index 00000000..9a44db99 --- /dev/null +++ b/svg/parts-traced/eyes/eye-9-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 81c4d28c3214d2f3bbb53fd7b20a692d359a6fe9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:36 -0700 Subject: [PATCH 0920/2079] feat: 2D traced eyes band 9 --- svg/parts-traced/eyes/eye-9-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-9-7.svg diff --git a/svg/parts-traced/eyes/eye-9-7.svg b/svg/parts-traced/eyes/eye-9-7.svg new file mode 100644 index 00000000..328cde45 --- /dev/null +++ b/svg/parts-traced/eyes/eye-9-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From ec7493bd1b7cbf2dec63f322ab0bffcda41cbed9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:36 -0700 Subject: [PATCH 0921/2079] feat: 2D traced eyes band 9 --- svg/parts-traced/eyes/eye-9-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-9-8.svg diff --git a/svg/parts-traced/eyes/eye-9-8.svg b/svg/parts-traced/eyes/eye-9-8.svg new file mode 100644 index 00000000..d4befd63 --- /dev/null +++ b/svg/parts-traced/eyes/eye-9-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 88871772eecb7898710ce1bce137548973da3474 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:37 -0700 Subject: [PATCH 0922/2079] feat: 2D traced eyes band 9 --- svg/parts-traced/eyes/eye-9-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/eyes/eye-9-9.svg diff --git a/svg/parts-traced/eyes/eye-9-9.svg b/svg/parts-traced/eyes/eye-9-9.svg new file mode 100644 index 00000000..5003de92 --- /dev/null +++ b/svg/parts-traced/eyes/eye-9-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 8a5cdf22b4e35ef8c7e504d3e7bf09519d1dd297 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:37 -0700 Subject: [PATCH 0923/2079] chore: remove old eye-0.svg --- svg/parts-traced/eyes/eye-0.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/eyes/eye-0.svg diff --git a/svg/parts-traced/eyes/eye-0.svg b/svg/parts-traced/eyes/eye-0.svg deleted file mode 100644 index 40f85423..00000000 --- a/svg/parts-traced/eyes/eye-0.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From fe6534dabd33da70f39c63dbba49360819fb32e6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:38 -0700 Subject: [PATCH 0924/2079] chore: remove old eye-1.svg --- svg/parts-traced/eyes/eye-1.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/eyes/eye-1.svg diff --git a/svg/parts-traced/eyes/eye-1.svg b/svg/parts-traced/eyes/eye-1.svg deleted file mode 100644 index f568bbcb..00000000 --- a/svg/parts-traced/eyes/eye-1.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 168ec13e620388034447c7eabb62beb7582eb981 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:38 -0700 Subject: [PATCH 0925/2079] chore: remove old eye-2.svg --- svg/parts-traced/eyes/eye-2.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/eyes/eye-2.svg diff --git a/svg/parts-traced/eyes/eye-2.svg b/svg/parts-traced/eyes/eye-2.svg deleted file mode 100644 index 9607fbc6..00000000 --- a/svg/parts-traced/eyes/eye-2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From e5ab172b643f572e4f20bbbdd2d69f337995273f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:39 -0700 Subject: [PATCH 0926/2079] chore: remove old eye-3.svg --- svg/parts-traced/eyes/eye-3.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/eyes/eye-3.svg diff --git a/svg/parts-traced/eyes/eye-3.svg b/svg/parts-traced/eyes/eye-3.svg deleted file mode 100644 index b0a1216e..00000000 --- a/svg/parts-traced/eyes/eye-3.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 19be16d5e70b192789e978faf82043af134e3dc1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:39 -0700 Subject: [PATCH 0927/2079] chore: remove old eye-4.svg --- svg/parts-traced/eyes/eye-4.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/eyes/eye-4.svg diff --git a/svg/parts-traced/eyes/eye-4.svg b/svg/parts-traced/eyes/eye-4.svg deleted file mode 100644 index ab1a0cc0..00000000 --- a/svg/parts-traced/eyes/eye-4.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 62a9f1af2729bc2ec3b024bf01cc163317b78a43 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:40 -0700 Subject: [PATCH 0928/2079] chore: remove old eye-5.svg --- svg/parts-traced/eyes/eye-5.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/eyes/eye-5.svg diff --git a/svg/parts-traced/eyes/eye-5.svg b/svg/parts-traced/eyes/eye-5.svg deleted file mode 100644 index 65e0f252..00000000 --- a/svg/parts-traced/eyes/eye-5.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From ecc9664cb5677b7a2db36dde9d088005e047f419 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:40 -0700 Subject: [PATCH 0929/2079] chore: remove old eye-6.svg --- svg/parts-traced/eyes/eye-6.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/eyes/eye-6.svg diff --git a/svg/parts-traced/eyes/eye-6.svg b/svg/parts-traced/eyes/eye-6.svg deleted file mode 100644 index 907496e6..00000000 --- a/svg/parts-traced/eyes/eye-6.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From f15f05bda2ad29a0cfebfc019024be8aa13e1af9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:41 -0700 Subject: [PATCH 0930/2079] chore: remove old eye-7.svg --- svg/parts-traced/eyes/eye-7.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/eyes/eye-7.svg diff --git a/svg/parts-traced/eyes/eye-7.svg b/svg/parts-traced/eyes/eye-7.svg deleted file mode 100644 index 09537c74..00000000 --- a/svg/parts-traced/eyes/eye-7.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 1d62b0af6cb2aa3e0bb7163692f3897eaef9c531 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:41 -0700 Subject: [PATCH 0931/2079] chore: remove old eye-8.svg --- svg/parts-traced/eyes/eye-8.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/eyes/eye-8.svg diff --git a/svg/parts-traced/eyes/eye-8.svg b/svg/parts-traced/eyes/eye-8.svg deleted file mode 100644 index 328cde45..00000000 --- a/svg/parts-traced/eyes/eye-8.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From af99c37650a954c94aa1839722f18aecc29524ad Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:39:42 -0700 Subject: [PATCH 0932/2079] chore: remove old eye-9.svg --- svg/parts-traced/eyes/eye-9.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/eyes/eye-9.svg diff --git a/svg/parts-traced/eyes/eye-9.svg b/svg/parts-traced/eyes/eye-9.svg deleted file mode 100644 index 0410f1b4..00000000 --- a/svg/parts-traced/eyes/eye-9.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 28378a0db313032f9ad5fbf0ef3d5de3ac7fb0e2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:05 -0700 Subject: [PATCH 0933/2079] feat: 2D traced mouths band 0 --- svg/parts-traced/mouths/mouth-0-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-0-0.svg diff --git a/svg/parts-traced/mouths/mouth-0-0.svg b/svg/parts-traced/mouths/mouth-0-0.svg new file mode 100644 index 00000000..4eda4510 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-0-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 1fb07c4d783efb9ec20582b95cc6ae46c7aa75cc Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:06 -0700 Subject: [PATCH 0934/2079] feat: 2D traced mouths band 0 --- svg/parts-traced/mouths/mouth-0-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-0-1.svg diff --git a/svg/parts-traced/mouths/mouth-0-1.svg b/svg/parts-traced/mouths/mouth-0-1.svg new file mode 100644 index 00000000..3ad3f5fb --- /dev/null +++ b/svg/parts-traced/mouths/mouth-0-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From f8965488c3379b22d36afece1a58f1c872617aed Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:06 -0700 Subject: [PATCH 0935/2079] feat: 2D traced mouths band 0 --- svg/parts-traced/mouths/mouth-0-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-0-2.svg diff --git a/svg/parts-traced/mouths/mouth-0-2.svg b/svg/parts-traced/mouths/mouth-0-2.svg new file mode 100644 index 00000000..069050f6 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-0-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From af7a69e1daac5b8e8299851ae0aba3f2b1d0a9bf Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:07 -0700 Subject: [PATCH 0936/2079] feat: 2D traced mouths band 0 --- svg/parts-traced/mouths/mouth-0-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-0-3.svg diff --git a/svg/parts-traced/mouths/mouth-0-3.svg b/svg/parts-traced/mouths/mouth-0-3.svg new file mode 100644 index 00000000..f3e742d2 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-0-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 39e5d8f221553344ce955f652445f7b4b40ac4e1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:07 -0700 Subject: [PATCH 0937/2079] feat: 2D traced mouths band 0 --- svg/parts-traced/mouths/mouth-0-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-0-4.svg diff --git a/svg/parts-traced/mouths/mouth-0-4.svg b/svg/parts-traced/mouths/mouth-0-4.svg new file mode 100644 index 00000000..9945fc84 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-0-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From ce26eb3b7e68d5427361cb9085d9630e9114db7c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:08 -0700 Subject: [PATCH 0938/2079] feat: 2D traced mouths band 0 --- svg/parts-traced/mouths/mouth-0-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-0-5.svg diff --git a/svg/parts-traced/mouths/mouth-0-5.svg b/svg/parts-traced/mouths/mouth-0-5.svg new file mode 100644 index 00000000..c5e17815 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-0-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2ad38fff1aa93ae8f225f6c0d1924180794607b1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:08 -0700 Subject: [PATCH 0939/2079] feat: 2D traced mouths band 0 --- svg/parts-traced/mouths/mouth-0-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-0-6.svg diff --git a/svg/parts-traced/mouths/mouth-0-6.svg b/svg/parts-traced/mouths/mouth-0-6.svg new file mode 100644 index 00000000..f16d435b --- /dev/null +++ b/svg/parts-traced/mouths/mouth-0-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From a13366746ed16d1e37cbb89ce32925a689eff786 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:09 -0700 Subject: [PATCH 0940/2079] feat: 2D traced mouths band 0 --- svg/parts-traced/mouths/mouth-0-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-0-7.svg diff --git a/svg/parts-traced/mouths/mouth-0-7.svg b/svg/parts-traced/mouths/mouth-0-7.svg new file mode 100644 index 00000000..4ae73044 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-0-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From b790fdf39bf1af3f1f76af82ac4f8449d92bbc78 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:09 -0700 Subject: [PATCH 0941/2079] feat: 2D traced mouths band 0 --- svg/parts-traced/mouths/mouth-0-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-0-8.svg diff --git a/svg/parts-traced/mouths/mouth-0-8.svg b/svg/parts-traced/mouths/mouth-0-8.svg new file mode 100644 index 00000000..1df0f227 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-0-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7efc5233d38353099dee48c86d8338ce028cd737 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:10 -0700 Subject: [PATCH 0942/2079] feat: 2D traced mouths band 0 --- svg/parts-traced/mouths/mouth-0-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-0-9.svg diff --git a/svg/parts-traced/mouths/mouth-0-9.svg b/svg/parts-traced/mouths/mouth-0-9.svg new file mode 100644 index 00000000..92ab26c4 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-0-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9e2b2452d399c46533854348b471bd52670556ad Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:10 -0700 Subject: [PATCH 0943/2079] feat: 2D traced mouths band 1 --- svg/parts-traced/mouths/mouth-1-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-1-0.svg diff --git a/svg/parts-traced/mouths/mouth-1-0.svg b/svg/parts-traced/mouths/mouth-1-0.svg new file mode 100644 index 00000000..c5e17815 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-1-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From eb0d4f0dabf2ff9fec38dd3ca83402923971989d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:11 -0700 Subject: [PATCH 0944/2079] feat: 2D traced mouths band 1 --- svg/parts-traced/mouths/mouth-1-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-1-1.svg diff --git a/svg/parts-traced/mouths/mouth-1-1.svg b/svg/parts-traced/mouths/mouth-1-1.svg new file mode 100644 index 00000000..9945fc84 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-1-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 23959429f7058ea6fc9b22948ba1bf0abef0ef36 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:11 -0700 Subject: [PATCH 0945/2079] feat: 2D traced mouths band 1 --- svg/parts-traced/mouths/mouth-1-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-1-2.svg diff --git a/svg/parts-traced/mouths/mouth-1-2.svg b/svg/parts-traced/mouths/mouth-1-2.svg new file mode 100644 index 00000000..90bcff1b --- /dev/null +++ b/svg/parts-traced/mouths/mouth-1-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From f10f571ed1ec3449b4cbe6780348bf75f351c30f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:12 -0700 Subject: [PATCH 0946/2079] feat: 2D traced mouths band 1 --- svg/parts-traced/mouths/mouth-1-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-1-3.svg diff --git a/svg/parts-traced/mouths/mouth-1-3.svg b/svg/parts-traced/mouths/mouth-1-3.svg new file mode 100644 index 00000000..f3e742d2 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-1-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From e449e034afae31164235d9b285071fcddcf52954 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:12 -0700 Subject: [PATCH 0947/2079] feat: 2D traced mouths band 1 --- svg/parts-traced/mouths/mouth-1-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-1-4.svg diff --git a/svg/parts-traced/mouths/mouth-1-4.svg b/svg/parts-traced/mouths/mouth-1-4.svg new file mode 100644 index 00000000..069050f6 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-1-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7ba828cb09d39dc0293b8cd46374a01d157e3ae7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:13 -0700 Subject: [PATCH 0948/2079] feat: 2D traced mouths band 1 --- svg/parts-traced/mouths/mouth-1-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-1-5.svg diff --git a/svg/parts-traced/mouths/mouth-1-5.svg b/svg/parts-traced/mouths/mouth-1-5.svg new file mode 100644 index 00000000..f16d435b --- /dev/null +++ b/svg/parts-traced/mouths/mouth-1-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 44880c39b869864397f1c34c9277b14f66fe5078 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:13 -0700 Subject: [PATCH 0949/2079] feat: 2D traced mouths band 1 --- svg/parts-traced/mouths/mouth-1-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-1-6.svg diff --git a/svg/parts-traced/mouths/mouth-1-6.svg b/svg/parts-traced/mouths/mouth-1-6.svg new file mode 100644 index 00000000..4ae73044 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-1-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9e259dec062e4021800f65fec022b8488c1c7a61 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:14 -0700 Subject: [PATCH 0950/2079] feat: 2D traced mouths band 1 --- svg/parts-traced/mouths/mouth-1-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-1-7.svg diff --git a/svg/parts-traced/mouths/mouth-1-7.svg b/svg/parts-traced/mouths/mouth-1-7.svg new file mode 100644 index 00000000..1df0f227 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-1-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 6cf30f336ddb7e1fd0cc7e101599bbb1452e3ec5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:14 -0700 Subject: [PATCH 0951/2079] feat: 2D traced mouths band 1 --- svg/parts-traced/mouths/mouth-1-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-1-8.svg diff --git a/svg/parts-traced/mouths/mouth-1-8.svg b/svg/parts-traced/mouths/mouth-1-8.svg new file mode 100644 index 00000000..4eda4510 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-1-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 217533c49297ab9a12f7c3940865c3fae6165558 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:15 -0700 Subject: [PATCH 0952/2079] feat: 2D traced mouths band 1 --- svg/parts-traced/mouths/mouth-1-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-1-9.svg diff --git a/svg/parts-traced/mouths/mouth-1-9.svg b/svg/parts-traced/mouths/mouth-1-9.svg new file mode 100644 index 00000000..92ab26c4 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-1-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 275707b9d8f0e7fa3163524f034115a0464cdbc6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:15 -0700 Subject: [PATCH 0953/2079] feat: 2D traced mouths band 2 --- svg/parts-traced/mouths/mouth-2-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-2-0.svg diff --git a/svg/parts-traced/mouths/mouth-2-0.svg b/svg/parts-traced/mouths/mouth-2-0.svg new file mode 100644 index 00000000..4ae73044 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-2-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From e4c3922ae43780aed646b0052ccd3c5177342d7f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:16 -0700 Subject: [PATCH 0954/2079] feat: 2D traced mouths band 2 --- svg/parts-traced/mouths/mouth-2-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-2-1.svg diff --git a/svg/parts-traced/mouths/mouth-2-1.svg b/svg/parts-traced/mouths/mouth-2-1.svg new file mode 100644 index 00000000..41d63e0a --- /dev/null +++ b/svg/parts-traced/mouths/mouth-2-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 391bc695f906c842a000e01f3f847c3de25ea741 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:16 -0700 Subject: [PATCH 0955/2079] feat: 2D traced mouths band 2 --- svg/parts-traced/mouths/mouth-2-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-2-2.svg diff --git a/svg/parts-traced/mouths/mouth-2-2.svg b/svg/parts-traced/mouths/mouth-2-2.svg new file mode 100644 index 00000000..f16d435b --- /dev/null +++ b/svg/parts-traced/mouths/mouth-2-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 72a3400cc819c45e67169a2887b37d7be8077ea5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:17 -0700 Subject: [PATCH 0956/2079] feat: 2D traced mouths band 2 --- svg/parts-traced/mouths/mouth-2-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-2-3.svg diff --git a/svg/parts-traced/mouths/mouth-2-3.svg b/svg/parts-traced/mouths/mouth-2-3.svg new file mode 100644 index 00000000..ac98b166 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-2-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From f76ccae55a6281cf120a637e6e6033ffdba7ef02 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:17 -0700 Subject: [PATCH 0957/2079] feat: 2D traced mouths band 2 --- svg/parts-traced/mouths/mouth-2-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-2-4.svg diff --git a/svg/parts-traced/mouths/mouth-2-4.svg b/svg/parts-traced/mouths/mouth-2-4.svg new file mode 100644 index 00000000..11b9e53f --- /dev/null +++ b/svg/parts-traced/mouths/mouth-2-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From ab1a5433ffae50da8690ae30aa5ce9be469812f4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:18 -0700 Subject: [PATCH 0958/2079] feat: 2D traced mouths band 2 --- svg/parts-traced/mouths/mouth-2-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-2-5.svg diff --git a/svg/parts-traced/mouths/mouth-2-5.svg b/svg/parts-traced/mouths/mouth-2-5.svg new file mode 100644 index 00000000..9900f09d --- /dev/null +++ b/svg/parts-traced/mouths/mouth-2-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 6dd387ab25aea1af16b4f42a8d0fa56eccc3a1e3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:18 -0700 Subject: [PATCH 0959/2079] feat: 2D traced mouths band 2 --- svg/parts-traced/mouths/mouth-2-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-2-6.svg diff --git a/svg/parts-traced/mouths/mouth-2-6.svg b/svg/parts-traced/mouths/mouth-2-6.svg new file mode 100644 index 00000000..cbbe291b --- /dev/null +++ b/svg/parts-traced/mouths/mouth-2-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2a4871125998a540360189d3e4ca4cc6e0f3b071 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:18 -0700 Subject: [PATCH 0960/2079] feat: 2D traced mouths band 2 --- svg/parts-traced/mouths/mouth-2-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-2-7.svg diff --git a/svg/parts-traced/mouths/mouth-2-7.svg b/svg/parts-traced/mouths/mouth-2-7.svg new file mode 100644 index 00000000..4eda4510 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-2-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 8a63f3ec41071e31dbee2ef4888181bec4368a68 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:19 -0700 Subject: [PATCH 0961/2079] feat: 2D traced mouths band 2 --- svg/parts-traced/mouths/mouth-2-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-2-8.svg diff --git a/svg/parts-traced/mouths/mouth-2-8.svg b/svg/parts-traced/mouths/mouth-2-8.svg new file mode 100644 index 00000000..f3e742d2 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-2-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From deea9c890afa6311884e5dfbd57606225bc2df2e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:19 -0700 Subject: [PATCH 0962/2079] feat: 2D traced mouths band 2 --- svg/parts-traced/mouths/mouth-2-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-2-9.svg diff --git a/svg/parts-traced/mouths/mouth-2-9.svg b/svg/parts-traced/mouths/mouth-2-9.svg new file mode 100644 index 00000000..fd4209c4 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-2-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 350fbd9a1746c78e4ad54a5cb063ef66126419dd Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:20 -0700 Subject: [PATCH 0963/2079] feat: 2D traced mouths band 3 --- svg/parts-traced/mouths/mouth-3-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-3-0.svg diff --git a/svg/parts-traced/mouths/mouth-3-0.svg b/svg/parts-traced/mouths/mouth-3-0.svg new file mode 100644 index 00000000..4ae73044 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-3-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 35451fe113973248abc4dc2cb772523b649ef8fa Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:21 -0700 Subject: [PATCH 0964/2079] feat: 2D traced mouths band 3 --- svg/parts-traced/mouths/mouth-3-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-3-1.svg diff --git a/svg/parts-traced/mouths/mouth-3-1.svg b/svg/parts-traced/mouths/mouth-3-1.svg new file mode 100644 index 00000000..92ab26c4 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-3-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From b4f82efa2fb5fbc8ff5e4907b5d664bb82f011d6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:21 -0700 Subject: [PATCH 0965/2079] feat: 2D traced mouths band 3 --- svg/parts-traced/mouths/mouth-3-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-3-2.svg diff --git a/svg/parts-traced/mouths/mouth-3-2.svg b/svg/parts-traced/mouths/mouth-3-2.svg new file mode 100644 index 00000000..9945fc84 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-3-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From d3aef949a6508c5f8ddaa966c136025f2b4a7091 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:22 -0700 Subject: [PATCH 0966/2079] feat: 2D traced mouths band 3 --- svg/parts-traced/mouths/mouth-3-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-3-3.svg diff --git a/svg/parts-traced/mouths/mouth-3-3.svg b/svg/parts-traced/mouths/mouth-3-3.svg new file mode 100644 index 00000000..3ad3f5fb --- /dev/null +++ b/svg/parts-traced/mouths/mouth-3-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From c7b5cd7c042e91dafb0a1296ed0fd4056f8cc268 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:22 -0700 Subject: [PATCH 0967/2079] feat: 2D traced mouths band 3 --- svg/parts-traced/mouths/mouth-3-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-3-4.svg diff --git a/svg/parts-traced/mouths/mouth-3-4.svg b/svg/parts-traced/mouths/mouth-3-4.svg new file mode 100644 index 00000000..c5e17815 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-3-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 509c6693fa35acefcdd5d083594c71301ac62e36 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:23 -0700 Subject: [PATCH 0968/2079] feat: 2D traced mouths band 3 --- svg/parts-traced/mouths/mouth-3-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-3-5.svg diff --git a/svg/parts-traced/mouths/mouth-3-5.svg b/svg/parts-traced/mouths/mouth-3-5.svg new file mode 100644 index 00000000..1df0f227 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-3-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From faf1a69c566d54b8fb3f00519db3febf0fa8f55a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:23 -0700 Subject: [PATCH 0969/2079] feat: 2D traced mouths band 3 --- svg/parts-traced/mouths/mouth-3-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-3-6.svg diff --git a/svg/parts-traced/mouths/mouth-3-6.svg b/svg/parts-traced/mouths/mouth-3-6.svg new file mode 100644 index 00000000..069050f6 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-3-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9cc2e842689029714db46c8eccb4e0952d0cf871 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:24 -0700 Subject: [PATCH 0970/2079] feat: 2D traced mouths band 3 --- svg/parts-traced/mouths/mouth-3-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-3-7.svg diff --git a/svg/parts-traced/mouths/mouth-3-7.svg b/svg/parts-traced/mouths/mouth-3-7.svg new file mode 100644 index 00000000..f3e742d2 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-3-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 1f701a62f62b64b660f751eb80e3c9f6aa148a65 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:24 -0700 Subject: [PATCH 0971/2079] feat: 2D traced mouths band 3 --- svg/parts-traced/mouths/mouth-3-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-3-8.svg diff --git a/svg/parts-traced/mouths/mouth-3-8.svg b/svg/parts-traced/mouths/mouth-3-8.svg new file mode 100644 index 00000000..f16d435b --- /dev/null +++ b/svg/parts-traced/mouths/mouth-3-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From ba4387215ceec662a73a0eb9ed76921fada3cfef Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:25 -0700 Subject: [PATCH 0972/2079] feat: 2D traced mouths band 3 --- svg/parts-traced/mouths/mouth-3-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-3-9.svg diff --git a/svg/parts-traced/mouths/mouth-3-9.svg b/svg/parts-traced/mouths/mouth-3-9.svg new file mode 100644 index 00000000..4eda4510 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-3-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From c24493081a4efaaa90bda6aee0c69a9ee6f2c9d7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:26 -0700 Subject: [PATCH 0973/2079] feat: 2D traced mouths band 4 --- svg/parts-traced/mouths/mouth-4-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-4-0.svg diff --git a/svg/parts-traced/mouths/mouth-4-0.svg b/svg/parts-traced/mouths/mouth-4-0.svg new file mode 100644 index 00000000..3ad3f5fb --- /dev/null +++ b/svg/parts-traced/mouths/mouth-4-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 821f62566fdf11f086689caada1f3d676d34220f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:26 -0700 Subject: [PATCH 0974/2079] feat: 2D traced mouths band 4 --- svg/parts-traced/mouths/mouth-4-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-4-1.svg diff --git a/svg/parts-traced/mouths/mouth-4-1.svg b/svg/parts-traced/mouths/mouth-4-1.svg new file mode 100644 index 00000000..9945fc84 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-4-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From c5b2d6af4ea860f127f0df02be58a845678fbec1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:27 -0700 Subject: [PATCH 0975/2079] feat: 2D traced mouths band 4 --- svg/parts-traced/mouths/mouth-4-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-4-2.svg diff --git a/svg/parts-traced/mouths/mouth-4-2.svg b/svg/parts-traced/mouths/mouth-4-2.svg new file mode 100644 index 00000000..4ae73044 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-4-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7937d7080f7e07263c40cecc6baed0516c46e055 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:27 -0700 Subject: [PATCH 0976/2079] feat: 2D traced mouths band 4 --- svg/parts-traced/mouths/mouth-4-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-4-3.svg diff --git a/svg/parts-traced/mouths/mouth-4-3.svg b/svg/parts-traced/mouths/mouth-4-3.svg new file mode 100644 index 00000000..f3e742d2 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-4-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 713ff23fe98a44d441f05e49a9c8a8ac7d775411 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:27 -0700 Subject: [PATCH 0977/2079] feat: 2D traced mouths band 4 --- svg/parts-traced/mouths/mouth-4-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-4-4.svg diff --git a/svg/parts-traced/mouths/mouth-4-4.svg b/svg/parts-traced/mouths/mouth-4-4.svg new file mode 100644 index 00000000..4eda4510 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-4-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 78233e97895e6d5a854d49ae443de5b73aa80b86 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:28 -0700 Subject: [PATCH 0978/2079] feat: 2D traced mouths band 4 --- svg/parts-traced/mouths/mouth-4-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-4-5.svg diff --git a/svg/parts-traced/mouths/mouth-4-5.svg b/svg/parts-traced/mouths/mouth-4-5.svg new file mode 100644 index 00000000..c5e17815 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-4-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From eedac8e2a702625b2f58a425c07f13376bc55d31 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:28 -0700 Subject: [PATCH 0979/2079] feat: 2D traced mouths band 4 --- svg/parts-traced/mouths/mouth-4-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-4-6.svg diff --git a/svg/parts-traced/mouths/mouth-4-6.svg b/svg/parts-traced/mouths/mouth-4-6.svg new file mode 100644 index 00000000..f16d435b --- /dev/null +++ b/svg/parts-traced/mouths/mouth-4-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 8d86ddf28f1df6bdf0359437ddefe1fecc0c4f6a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:29 -0700 Subject: [PATCH 0980/2079] feat: 2D traced mouths band 4 --- svg/parts-traced/mouths/mouth-4-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-4-7.svg diff --git a/svg/parts-traced/mouths/mouth-4-7.svg b/svg/parts-traced/mouths/mouth-4-7.svg new file mode 100644 index 00000000..1df0f227 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-4-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7dd218276add6d5af0ee71368004c2c35079b608 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:29 -0700 Subject: [PATCH 0981/2079] feat: 2D traced mouths band 4 --- svg/parts-traced/mouths/mouth-4-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-4-8.svg diff --git a/svg/parts-traced/mouths/mouth-4-8.svg b/svg/parts-traced/mouths/mouth-4-8.svg new file mode 100644 index 00000000..92ab26c4 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-4-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From d358b46ac7fb6a9668bf554a81198b1fe6966f19 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:30 -0700 Subject: [PATCH 0982/2079] feat: 2D traced mouths band 4 --- svg/parts-traced/mouths/mouth-4-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-4-9.svg diff --git a/svg/parts-traced/mouths/mouth-4-9.svg b/svg/parts-traced/mouths/mouth-4-9.svg new file mode 100644 index 00000000..069050f6 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-4-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 658a923daaa7734203223fa14bbc3c472d7a4f05 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:30 -0700 Subject: [PATCH 0983/2079] feat: 2D traced mouths band 5 --- svg/parts-traced/mouths/mouth-5-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-5-0.svg diff --git a/svg/parts-traced/mouths/mouth-5-0.svg b/svg/parts-traced/mouths/mouth-5-0.svg new file mode 100644 index 00000000..11b9e53f --- /dev/null +++ b/svg/parts-traced/mouths/mouth-5-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 338ac42be3eb2bdf799846115fb8a39679d2c03d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:31 -0700 Subject: [PATCH 0984/2079] feat: 2D traced mouths band 5 --- svg/parts-traced/mouths/mouth-5-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-5-1.svg diff --git a/svg/parts-traced/mouths/mouth-5-1.svg b/svg/parts-traced/mouths/mouth-5-1.svg new file mode 100644 index 00000000..ac98b166 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-5-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 004438ca9b90e0ebab51e220200b6ae900402ed8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:31 -0700 Subject: [PATCH 0985/2079] feat: 2D traced mouths band 5 --- svg/parts-traced/mouths/mouth-5-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-5-2.svg diff --git a/svg/parts-traced/mouths/mouth-5-2.svg b/svg/parts-traced/mouths/mouth-5-2.svg new file mode 100644 index 00000000..4ae73044 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-5-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 4258c0254a580c31328f827ba3b8859136325e23 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:32 -0700 Subject: [PATCH 0986/2079] feat: 2D traced mouths band 5 --- svg/parts-traced/mouths/mouth-5-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-5-3.svg diff --git a/svg/parts-traced/mouths/mouth-5-3.svg b/svg/parts-traced/mouths/mouth-5-3.svg new file mode 100644 index 00000000..9900f09d --- /dev/null +++ b/svg/parts-traced/mouths/mouth-5-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From b2b043eb943b1de9a877bc30d527a489ef96de71 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:32 -0700 Subject: [PATCH 0987/2079] feat: 2D traced mouths band 5 --- svg/parts-traced/mouths/mouth-5-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-5-4.svg diff --git a/svg/parts-traced/mouths/mouth-5-4.svg b/svg/parts-traced/mouths/mouth-5-4.svg new file mode 100644 index 00000000..cbbe291b --- /dev/null +++ b/svg/parts-traced/mouths/mouth-5-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From bb61edde53b6c15f5a8a98a09c057225bafc57a5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:33 -0700 Subject: [PATCH 0988/2079] feat: 2D traced mouths band 5 --- svg/parts-traced/mouths/mouth-5-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-5-5.svg diff --git a/svg/parts-traced/mouths/mouth-5-5.svg b/svg/parts-traced/mouths/mouth-5-5.svg new file mode 100644 index 00000000..41d63e0a --- /dev/null +++ b/svg/parts-traced/mouths/mouth-5-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2842c2e77dde880003b8c6e0617fe6597cb67599 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:33 -0700 Subject: [PATCH 0989/2079] feat: 2D traced mouths band 5 --- svg/parts-traced/mouths/mouth-5-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-5-6.svg diff --git a/svg/parts-traced/mouths/mouth-5-6.svg b/svg/parts-traced/mouths/mouth-5-6.svg new file mode 100644 index 00000000..f3e742d2 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-5-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From fb9b41d38e89eec674e211217b333d97e2a4749c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:34 -0700 Subject: [PATCH 0990/2079] feat: 2D traced mouths band 5 --- svg/parts-traced/mouths/mouth-5-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-5-7.svg diff --git a/svg/parts-traced/mouths/mouth-5-7.svg b/svg/parts-traced/mouths/mouth-5-7.svg new file mode 100644 index 00000000..f16d435b --- /dev/null +++ b/svg/parts-traced/mouths/mouth-5-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From e832725932c5c9c912fc63c4387b5f1dcf62a402 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:34 -0700 Subject: [PATCH 0991/2079] feat: 2D traced mouths band 5 --- svg/parts-traced/mouths/mouth-5-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-5-8.svg diff --git a/svg/parts-traced/mouths/mouth-5-8.svg b/svg/parts-traced/mouths/mouth-5-8.svg new file mode 100644 index 00000000..4eda4510 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-5-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 16f2de15d4fb2df79469ef2f1a2d4e633affacea Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:35 -0700 Subject: [PATCH 0992/2079] feat: 2D traced mouths band 5 --- svg/parts-traced/mouths/mouth-5-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-5-9.svg diff --git a/svg/parts-traced/mouths/mouth-5-9.svg b/svg/parts-traced/mouths/mouth-5-9.svg new file mode 100644 index 00000000..f0112a30 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-5-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5e1cf5d7069139ecc0c18904c1eac9aa93c9216f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:35 -0700 Subject: [PATCH 0993/2079] feat: 2D traced mouths band 6 --- svg/parts-traced/mouths/mouth-6-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-6-0.svg diff --git a/svg/parts-traced/mouths/mouth-6-0.svg b/svg/parts-traced/mouths/mouth-6-0.svg new file mode 100644 index 00000000..9900f09d --- /dev/null +++ b/svg/parts-traced/mouths/mouth-6-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 8308acc2b5b9b445010b63a395e29922c5fd78d5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:36 -0700 Subject: [PATCH 0994/2079] feat: 2D traced mouths band 6 --- svg/parts-traced/mouths/mouth-6-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-6-1.svg diff --git a/svg/parts-traced/mouths/mouth-6-1.svg b/svg/parts-traced/mouths/mouth-6-1.svg new file mode 100644 index 00000000..4eda4510 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-6-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From f130918a3e8bd6213fe1e518cd70511851d1538a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:36 -0700 Subject: [PATCH 0995/2079] feat: 2D traced mouths band 6 --- svg/parts-traced/mouths/mouth-6-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-6-2.svg diff --git a/svg/parts-traced/mouths/mouth-6-2.svg b/svg/parts-traced/mouths/mouth-6-2.svg new file mode 100644 index 00000000..f3e742d2 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-6-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 24c5686c99ea2161f58e13b9128f37f4ac95bec4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:37 -0700 Subject: [PATCH 0996/2079] feat: 2D traced mouths band 6 --- svg/parts-traced/mouths/mouth-6-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-6-3.svg diff --git a/svg/parts-traced/mouths/mouth-6-3.svg b/svg/parts-traced/mouths/mouth-6-3.svg new file mode 100644 index 00000000..cbbe291b --- /dev/null +++ b/svg/parts-traced/mouths/mouth-6-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From f97a8d3fcca4ed3d2f96bc340aa9228630f23b5b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:37 -0700 Subject: [PATCH 0997/2079] feat: 2D traced mouths band 6 --- svg/parts-traced/mouths/mouth-6-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-6-4.svg diff --git a/svg/parts-traced/mouths/mouth-6-4.svg b/svg/parts-traced/mouths/mouth-6-4.svg new file mode 100644 index 00000000..41d63e0a --- /dev/null +++ b/svg/parts-traced/mouths/mouth-6-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 4f5c2c084c3b7be75d3c09d9f06403228d5de3d6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:38 -0700 Subject: [PATCH 0998/2079] feat: 2D traced mouths band 6 --- svg/parts-traced/mouths/mouth-6-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-6-5.svg diff --git a/svg/parts-traced/mouths/mouth-6-5.svg b/svg/parts-traced/mouths/mouth-6-5.svg new file mode 100644 index 00000000..fd4209c4 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-6-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From b433a9a98f133989bf84111edaaee01162c479ea Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:38 -0700 Subject: [PATCH 0999/2079] feat: 2D traced mouths band 6 --- svg/parts-traced/mouths/mouth-6-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-6-6.svg diff --git a/svg/parts-traced/mouths/mouth-6-6.svg b/svg/parts-traced/mouths/mouth-6-6.svg new file mode 100644 index 00000000..11b9e53f --- /dev/null +++ b/svg/parts-traced/mouths/mouth-6-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 8d2b11e2ef98ac5fb24a53f93fddbf53d234e66c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:39 -0700 Subject: [PATCH 1000/2079] feat: 2D traced mouths band 6 --- svg/parts-traced/mouths/mouth-6-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-6-7.svg diff --git a/svg/parts-traced/mouths/mouth-6-7.svg b/svg/parts-traced/mouths/mouth-6-7.svg new file mode 100644 index 00000000..ac98b166 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-6-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From dc8258bccd0de5583fc349a12b18e604a1ff2a6c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:39 -0700 Subject: [PATCH 1001/2079] feat: 2D traced mouths band 6 --- svg/parts-traced/mouths/mouth-6-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-6-8.svg diff --git a/svg/parts-traced/mouths/mouth-6-8.svg b/svg/parts-traced/mouths/mouth-6-8.svg new file mode 100644 index 00000000..4ae73044 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-6-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 19191326b928e824e945fd59de88b963dd9a911e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:40 -0700 Subject: [PATCH 1002/2079] feat: 2D traced mouths band 6 --- svg/parts-traced/mouths/mouth-6-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-6-9.svg diff --git a/svg/parts-traced/mouths/mouth-6-9.svg b/svg/parts-traced/mouths/mouth-6-9.svg new file mode 100644 index 00000000..f16d435b --- /dev/null +++ b/svg/parts-traced/mouths/mouth-6-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 4654345d657fe67f7eb9578d52ac31e841b68de7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:40 -0700 Subject: [PATCH 1003/2079] feat: 2D traced mouths band 7 --- svg/parts-traced/mouths/mouth-7-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-7-0.svg diff --git a/svg/parts-traced/mouths/mouth-7-0.svg b/svg/parts-traced/mouths/mouth-7-0.svg new file mode 100644 index 00000000..cbbe291b --- /dev/null +++ b/svg/parts-traced/mouths/mouth-7-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From ee16952db24d450ae9612ee0963f1deea6aa6735 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:41 -0700 Subject: [PATCH 1004/2079] feat: 2D traced mouths band 7 --- svg/parts-traced/mouths/mouth-7-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-7-1.svg diff --git a/svg/parts-traced/mouths/mouth-7-1.svg b/svg/parts-traced/mouths/mouth-7-1.svg new file mode 100644 index 00000000..f3e742d2 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-7-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 0d90857b95ed0627537b986800a8c7bed4b36252 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:41 -0700 Subject: [PATCH 1005/2079] feat: 2D traced mouths band 7 --- svg/parts-traced/mouths/mouth-7-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-7-2.svg diff --git a/svg/parts-traced/mouths/mouth-7-2.svg b/svg/parts-traced/mouths/mouth-7-2.svg new file mode 100644 index 00000000..4ae73044 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-7-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 1ff625d2ec7c795ee754794095a9f8c7b33c8d4a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:42 -0700 Subject: [PATCH 1006/2079] feat: 2D traced mouths band 7 --- svg/parts-traced/mouths/mouth-7-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-7-3.svg diff --git a/svg/parts-traced/mouths/mouth-7-3.svg b/svg/parts-traced/mouths/mouth-7-3.svg new file mode 100644 index 00000000..9900f09d --- /dev/null +++ b/svg/parts-traced/mouths/mouth-7-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 0b3a29686e2e711e2cbe689a54d65592e464c751 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:42 -0700 Subject: [PATCH 1007/2079] feat: 2D traced mouths band 7 --- svg/parts-traced/mouths/mouth-7-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-7-4.svg diff --git a/svg/parts-traced/mouths/mouth-7-4.svg b/svg/parts-traced/mouths/mouth-7-4.svg new file mode 100644 index 00000000..11b9e53f --- /dev/null +++ b/svg/parts-traced/mouths/mouth-7-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 479a367d6386e12dc05af1717d45e1347177668a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:43 -0700 Subject: [PATCH 1008/2079] feat: 2D traced mouths band 7 --- svg/parts-traced/mouths/mouth-7-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-7-5.svg diff --git a/svg/parts-traced/mouths/mouth-7-5.svg b/svg/parts-traced/mouths/mouth-7-5.svg new file mode 100644 index 00000000..ac98b166 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-7-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From ba576df6c3a9e16495ce942622cb74bd6afbea29 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:43 -0700 Subject: [PATCH 1009/2079] feat: 2D traced mouths band 7 --- svg/parts-traced/mouths/mouth-7-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-7-6.svg diff --git a/svg/parts-traced/mouths/mouth-7-6.svg b/svg/parts-traced/mouths/mouth-7-6.svg new file mode 100644 index 00000000..41d63e0a --- /dev/null +++ b/svg/parts-traced/mouths/mouth-7-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From fabbb7886c6407d49f951efba253771b423d8541 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:43 -0700 Subject: [PATCH 1010/2079] feat: 2D traced mouths band 7 --- svg/parts-traced/mouths/mouth-7-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-7-7.svg diff --git a/svg/parts-traced/mouths/mouth-7-7.svg b/svg/parts-traced/mouths/mouth-7-7.svg new file mode 100644 index 00000000..fd4209c4 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-7-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 35eda78aac7a5598bab371bd4dec0c6d96c01fd6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:44 -0700 Subject: [PATCH 1011/2079] feat: 2D traced mouths band 7 --- svg/parts-traced/mouths/mouth-7-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-7-8.svg diff --git a/svg/parts-traced/mouths/mouth-7-8.svg b/svg/parts-traced/mouths/mouth-7-8.svg new file mode 100644 index 00000000..f16d435b --- /dev/null +++ b/svg/parts-traced/mouths/mouth-7-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 16567aa66a517051f978fd4639c157768a31a508 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:45 -0700 Subject: [PATCH 1012/2079] feat: 2D traced mouths band 7 --- svg/parts-traced/mouths/mouth-7-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-7-9.svg diff --git a/svg/parts-traced/mouths/mouth-7-9.svg b/svg/parts-traced/mouths/mouth-7-9.svg new file mode 100644 index 00000000..4eda4510 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-7-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From f5a920c6fec624a857c55eaea3aa9a847107e8f6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:45 -0700 Subject: [PATCH 1013/2079] feat: 2D traced mouths band 8 --- svg/parts-traced/mouths/mouth-8-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-8-0.svg diff --git a/svg/parts-traced/mouths/mouth-8-0.svg b/svg/parts-traced/mouths/mouth-8-0.svg new file mode 100644 index 00000000..41d63e0a --- /dev/null +++ b/svg/parts-traced/mouths/mouth-8-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From c5d8fa08a54e7d16549611964b7b8cefa8a0758c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:46 -0700 Subject: [PATCH 1014/2079] feat: 2D traced mouths band 8 --- svg/parts-traced/mouths/mouth-8-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-8-1.svg diff --git a/svg/parts-traced/mouths/mouth-8-1.svg b/svg/parts-traced/mouths/mouth-8-1.svg new file mode 100644 index 00000000..4ae73044 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-8-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 71929b34de006cfcef511339445ebf55ee1a66e7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:46 -0700 Subject: [PATCH 1015/2079] feat: 2D traced mouths band 8 --- svg/parts-traced/mouths/mouth-8-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-8-2.svg diff --git a/svg/parts-traced/mouths/mouth-8-2.svg b/svg/parts-traced/mouths/mouth-8-2.svg new file mode 100644 index 00000000..f3e742d2 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-8-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 49e908aa3d6151c380d266d5b5dd233759abe9e6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:47 -0700 Subject: [PATCH 1016/2079] feat: 2D traced mouths band 8 --- svg/parts-traced/mouths/mouth-8-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-8-3.svg diff --git a/svg/parts-traced/mouths/mouth-8-3.svg b/svg/parts-traced/mouths/mouth-8-3.svg new file mode 100644 index 00000000..11b9e53f --- /dev/null +++ b/svg/parts-traced/mouths/mouth-8-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 73f370e8ba1267553c6a37d6054aa165494664cf Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:47 -0700 Subject: [PATCH 1017/2079] feat: 2D traced mouths band 8 --- svg/parts-traced/mouths/mouth-8-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-8-4.svg diff --git a/svg/parts-traced/mouths/mouth-8-4.svg b/svg/parts-traced/mouths/mouth-8-4.svg new file mode 100644 index 00000000..4eda4510 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-8-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From c696f0fec32a7333271c99670338374066de51fc Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:48 -0700 Subject: [PATCH 1018/2079] feat: 2D traced mouths band 8 --- svg/parts-traced/mouths/mouth-8-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-8-5.svg diff --git a/svg/parts-traced/mouths/mouth-8-5.svg b/svg/parts-traced/mouths/mouth-8-5.svg new file mode 100644 index 00000000..cbbe291b --- /dev/null +++ b/svg/parts-traced/mouths/mouth-8-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From e020e6552346ab9fc217841ff824413918714163 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:48 -0700 Subject: [PATCH 1019/2079] feat: 2D traced mouths band 8 --- svg/parts-traced/mouths/mouth-8-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-8-6.svg diff --git a/svg/parts-traced/mouths/mouth-8-6.svg b/svg/parts-traced/mouths/mouth-8-6.svg new file mode 100644 index 00000000..f16d435b --- /dev/null +++ b/svg/parts-traced/mouths/mouth-8-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From a926e142e2c00e55ab57450646daef7506bcf7ac Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:49 -0700 Subject: [PATCH 1020/2079] feat: 2D traced mouths band 8 --- svg/parts-traced/mouths/mouth-8-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-8-7.svg diff --git a/svg/parts-traced/mouths/mouth-8-7.svg b/svg/parts-traced/mouths/mouth-8-7.svg new file mode 100644 index 00000000..641c8c26 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-8-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5751781494adc7422b4e1897958021259a4ea34c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:49 -0700 Subject: [PATCH 1021/2079] feat: 2D traced mouths band 8 --- svg/parts-traced/mouths/mouth-8-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-8-8.svg diff --git a/svg/parts-traced/mouths/mouth-8-8.svg b/svg/parts-traced/mouths/mouth-8-8.svg new file mode 100644 index 00000000..ac98b166 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-8-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 95b4d742216a728595ea6687d55896c8aa3d43bb Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:50 -0700 Subject: [PATCH 1022/2079] feat: 2D traced mouths band 8 --- svg/parts-traced/mouths/mouth-8-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-8-9.svg diff --git a/svg/parts-traced/mouths/mouth-8-9.svg b/svg/parts-traced/mouths/mouth-8-9.svg new file mode 100644 index 00000000..9900f09d --- /dev/null +++ b/svg/parts-traced/mouths/mouth-8-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From b1ce69bc856a1994f33ecde46a490d0cf322ac0c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:50 -0700 Subject: [PATCH 1023/2079] feat: 2D traced mouths band 9 --- svg/parts-traced/mouths/mouth-9-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-9-0.svg diff --git a/svg/parts-traced/mouths/mouth-9-0.svg b/svg/parts-traced/mouths/mouth-9-0.svg new file mode 100644 index 00000000..11b9e53f --- /dev/null +++ b/svg/parts-traced/mouths/mouth-9-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3a1249533996ca942a724accff4c06dc2ee851a3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:51 -0700 Subject: [PATCH 1024/2079] feat: 2D traced mouths band 9 --- svg/parts-traced/mouths/mouth-9-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-9-1.svg diff --git a/svg/parts-traced/mouths/mouth-9-1.svg b/svg/parts-traced/mouths/mouth-9-1.svg new file mode 100644 index 00000000..ac98b166 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-9-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 365f2294c1ae5d0ac16cbd1d6a6eed1c6ceb43f5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:51 -0700 Subject: [PATCH 1025/2079] feat: 2D traced mouths band 9 --- svg/parts-traced/mouths/mouth-9-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-9-2.svg diff --git a/svg/parts-traced/mouths/mouth-9-2.svg b/svg/parts-traced/mouths/mouth-9-2.svg new file mode 100644 index 00000000..f16d435b --- /dev/null +++ b/svg/parts-traced/mouths/mouth-9-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7e906e63e2011db1d60be838b3f62eec6992e4f9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:52 -0700 Subject: [PATCH 1026/2079] feat: 2D traced mouths band 9 --- svg/parts-traced/mouths/mouth-9-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-9-3.svg diff --git a/svg/parts-traced/mouths/mouth-9-3.svg b/svg/parts-traced/mouths/mouth-9-3.svg new file mode 100644 index 00000000..9900f09d --- /dev/null +++ b/svg/parts-traced/mouths/mouth-9-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 93d8a101b9210f208c52a3818749269473097d3e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:52 -0700 Subject: [PATCH 1027/2079] feat: 2D traced mouths band 9 --- svg/parts-traced/mouths/mouth-9-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-9-4.svg diff --git a/svg/parts-traced/mouths/mouth-9-4.svg b/svg/parts-traced/mouths/mouth-9-4.svg new file mode 100644 index 00000000..fd4209c4 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-9-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 62bf46d9d8bc60784d2c7acafeba88d6e2ab9299 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:53 -0700 Subject: [PATCH 1028/2079] feat: 2D traced mouths band 9 --- svg/parts-traced/mouths/mouth-9-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-9-5.svg diff --git a/svg/parts-traced/mouths/mouth-9-5.svg b/svg/parts-traced/mouths/mouth-9-5.svg new file mode 100644 index 00000000..41d63e0a --- /dev/null +++ b/svg/parts-traced/mouths/mouth-9-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 844073ffa986759c4430a42282cd97869096d1d0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:53 -0700 Subject: [PATCH 1029/2079] feat: 2D traced mouths band 9 --- svg/parts-traced/mouths/mouth-9-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-9-6.svg diff --git a/svg/parts-traced/mouths/mouth-9-6.svg b/svg/parts-traced/mouths/mouth-9-6.svg new file mode 100644 index 00000000..4ae73044 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-9-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5c6a59b32942cb5b6041f1df50a55db6f960a071 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:54 -0700 Subject: [PATCH 1030/2079] feat: 2D traced mouths band 9 --- svg/parts-traced/mouths/mouth-9-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-9-7.svg diff --git a/svg/parts-traced/mouths/mouth-9-7.svg b/svg/parts-traced/mouths/mouth-9-7.svg new file mode 100644 index 00000000..f3e742d2 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-9-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From e786956db57ad67a0e9dbff359911753e94e3e4d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:54 -0700 Subject: [PATCH 1031/2079] feat: 2D traced mouths band 9 --- svg/parts-traced/mouths/mouth-9-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-9-8.svg diff --git a/svg/parts-traced/mouths/mouth-9-8.svg b/svg/parts-traced/mouths/mouth-9-8.svg new file mode 100644 index 00000000..4eda4510 --- /dev/null +++ b/svg/parts-traced/mouths/mouth-9-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 346e876878b277777ed5ad29f155f111baaff8b8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:54 -0700 Subject: [PATCH 1032/2079] feat: 2D traced mouths band 9 --- svg/parts-traced/mouths/mouth-9-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/mouths/mouth-9-9.svg diff --git a/svg/parts-traced/mouths/mouth-9-9.svg b/svg/parts-traced/mouths/mouth-9-9.svg new file mode 100644 index 00000000..cbbe291b --- /dev/null +++ b/svg/parts-traced/mouths/mouth-9-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From f2e4d316107bbca70ebd1ad62072fc99bab31518 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:55 -0700 Subject: [PATCH 1033/2079] chore: remove old mouth-0.svg --- svg/parts-traced/mouths/mouth-0.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/mouths/mouth-0.svg diff --git a/svg/parts-traced/mouths/mouth-0.svg b/svg/parts-traced/mouths/mouth-0.svg deleted file mode 100644 index 4eda4510..00000000 --- a/svg/parts-traced/mouths/mouth-0.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 0fcbb3b8cf09a9d0a3088ce5e321857d8bb816d4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:55 -0700 Subject: [PATCH 1034/2079] chore: remove old mouth-1.svg --- svg/parts-traced/mouths/mouth-1.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/mouths/mouth-1.svg diff --git a/svg/parts-traced/mouths/mouth-1.svg b/svg/parts-traced/mouths/mouth-1.svg deleted file mode 100644 index 3ad3f5fb..00000000 --- a/svg/parts-traced/mouths/mouth-1.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From f9cc9ddd2375e28401e0800f5f0918bf37adfc94 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:56 -0700 Subject: [PATCH 1035/2079] chore: remove old mouth-2.svg --- svg/parts-traced/mouths/mouth-2.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/mouths/mouth-2.svg diff --git a/svg/parts-traced/mouths/mouth-2.svg b/svg/parts-traced/mouths/mouth-2.svg deleted file mode 100644 index 069050f6..00000000 --- a/svg/parts-traced/mouths/mouth-2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From d3369748e0dcaab0daeaddd12d3cb096450f17be Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:56 -0700 Subject: [PATCH 1036/2079] chore: remove old mouth-3.svg --- svg/parts-traced/mouths/mouth-3.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/mouths/mouth-3.svg diff --git a/svg/parts-traced/mouths/mouth-3.svg b/svg/parts-traced/mouths/mouth-3.svg deleted file mode 100644 index f3e742d2..00000000 --- a/svg/parts-traced/mouths/mouth-3.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 731de02b44f1fdeb02a45658285524c4c4ea195e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:57 -0700 Subject: [PATCH 1037/2079] chore: remove old mouth-4.svg --- svg/parts-traced/mouths/mouth-4.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/mouths/mouth-4.svg diff --git a/svg/parts-traced/mouths/mouth-4.svg b/svg/parts-traced/mouths/mouth-4.svg deleted file mode 100644 index 9945fc84..00000000 --- a/svg/parts-traced/mouths/mouth-4.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 32ab920a04b921ea0fc84126bcc51a7c067efd70 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:57 -0700 Subject: [PATCH 1038/2079] chore: remove old mouth-5.svg --- svg/parts-traced/mouths/mouth-5.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/mouths/mouth-5.svg diff --git a/svg/parts-traced/mouths/mouth-5.svg b/svg/parts-traced/mouths/mouth-5.svg deleted file mode 100644 index c5e17815..00000000 --- a/svg/parts-traced/mouths/mouth-5.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 4bf9632d3bd70695e9afb675369cd41f6d315c16 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:58 -0700 Subject: [PATCH 1039/2079] chore: remove old mouth-6.svg --- svg/parts-traced/mouths/mouth-6.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/mouths/mouth-6.svg diff --git a/svg/parts-traced/mouths/mouth-6.svg b/svg/parts-traced/mouths/mouth-6.svg deleted file mode 100644 index f16d435b..00000000 --- a/svg/parts-traced/mouths/mouth-6.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From d48fa58ed7432d7a042d389e1de774198943068b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:58 -0700 Subject: [PATCH 1040/2079] chore: remove old mouth-7.svg --- svg/parts-traced/mouths/mouth-7.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/mouths/mouth-7.svg diff --git a/svg/parts-traced/mouths/mouth-7.svg b/svg/parts-traced/mouths/mouth-7.svg deleted file mode 100644 index 4ae73044..00000000 --- a/svg/parts-traced/mouths/mouth-7.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From efdaa534a3b0bde4a79bce61bf10499f8f8ec1ea Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:59 -0700 Subject: [PATCH 1041/2079] chore: remove old mouth-8.svg --- svg/parts-traced/mouths/mouth-8.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/mouths/mouth-8.svg diff --git a/svg/parts-traced/mouths/mouth-8.svg b/svg/parts-traced/mouths/mouth-8.svg deleted file mode 100644 index 1df0f227..00000000 --- a/svg/parts-traced/mouths/mouth-8.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 5e1951aa01145e893068a7adce520a73a96f6f29 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:40:59 -0700 Subject: [PATCH 1042/2079] chore: remove old mouth-9.svg --- svg/parts-traced/mouths/mouth-9.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/mouths/mouth-9.svg diff --git a/svg/parts-traced/mouths/mouth-9.svg b/svg/parts-traced/mouths/mouth-9.svg deleted file mode 100644 index 92ab26c4..00000000 --- a/svg/parts-traced/mouths/mouth-9.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 025edda7866cff1eb7cd4c2a365e6ddece080e1a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:23 -0700 Subject: [PATCH 1043/2079] feat: 2D traced accessories band 0 --- svg/parts-traced/accessories/accessory-0-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-0-0.svg diff --git a/svg/parts-traced/accessories/accessory-0-0.svg b/svg/parts-traced/accessories/accessory-0-0.svg new file mode 100644 index 00000000..197fd63a --- /dev/null +++ b/svg/parts-traced/accessories/accessory-0-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 0ec0bf2113a353ac1ce950452afd1875247d0690 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:24 -0700 Subject: [PATCH 1044/2079] feat: 2D traced accessories band 0 --- svg/parts-traced/accessories/accessory-0-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-0-1.svg diff --git a/svg/parts-traced/accessories/accessory-0-1.svg b/svg/parts-traced/accessories/accessory-0-1.svg new file mode 100644 index 00000000..0c868aa4 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-0-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 978b7577fcb87fae3b55f08b54e5e97f33d076a5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:24 -0700 Subject: [PATCH 1045/2079] feat: 2D traced accessories band 0 --- svg/parts-traced/accessories/accessory-0-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-0-2.svg diff --git a/svg/parts-traced/accessories/accessory-0-2.svg b/svg/parts-traced/accessories/accessory-0-2.svg new file mode 100644 index 00000000..8c876350 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-0-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 60d40d2d1f97ccec21c21666813ea66c4151f56d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:25 -0700 Subject: [PATCH 1046/2079] feat: 2D traced accessories band 0 --- svg/parts-traced/accessories/accessory-0-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-0-3.svg diff --git a/svg/parts-traced/accessories/accessory-0-3.svg b/svg/parts-traced/accessories/accessory-0-3.svg new file mode 100644 index 00000000..93f5b95e --- /dev/null +++ b/svg/parts-traced/accessories/accessory-0-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From b9074feab0ab633733d961cdc90be68c83d35012 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:25 -0700 Subject: [PATCH 1047/2079] feat: 2D traced accessories band 0 --- svg/parts-traced/accessories/accessory-0-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-0-4.svg diff --git a/svg/parts-traced/accessories/accessory-0-4.svg b/svg/parts-traced/accessories/accessory-0-4.svg new file mode 100644 index 00000000..4a842795 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-0-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 940a8f00099861e7ef85a10c6969b704e6126a16 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:26 -0700 Subject: [PATCH 1048/2079] feat: 2D traced accessories band 0 --- svg/parts-traced/accessories/accessory-0-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-0-5.svg diff --git a/svg/parts-traced/accessories/accessory-0-5.svg b/svg/parts-traced/accessories/accessory-0-5.svg new file mode 100644 index 00000000..4f40dd6d --- /dev/null +++ b/svg/parts-traced/accessories/accessory-0-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 525f0accd1b0d382a13089bbcd87856a0df896e0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:26 -0700 Subject: [PATCH 1049/2079] feat: 2D traced accessories band 0 --- svg/parts-traced/accessories/accessory-0-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-0-6.svg diff --git a/svg/parts-traced/accessories/accessory-0-6.svg b/svg/parts-traced/accessories/accessory-0-6.svg new file mode 100644 index 00000000..842e0f88 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-0-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 73714905f60f1b277628f3d1760c98e3378c0eaa Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:26 -0700 Subject: [PATCH 1050/2079] feat: 2D traced accessories band 0 --- svg/parts-traced/accessories/accessory-0-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-0-7.svg diff --git a/svg/parts-traced/accessories/accessory-0-7.svg b/svg/parts-traced/accessories/accessory-0-7.svg new file mode 100644 index 00000000..84b682b1 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-0-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 01b653c91b1249ba988349aa6fb18c4b5a812248 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:27 -0700 Subject: [PATCH 1051/2079] feat: 2D traced accessories band 0 --- svg/parts-traced/accessories/accessory-0-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-0-8.svg diff --git a/svg/parts-traced/accessories/accessory-0-8.svg b/svg/parts-traced/accessories/accessory-0-8.svg new file mode 100644 index 00000000..6cbca369 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-0-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 71635282907c9d962b6a6d0303f5fed6aed3cc01 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:28 -0700 Subject: [PATCH 1052/2079] feat: 2D traced accessories band 0 --- svg/parts-traced/accessories/accessory-0-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-0-9.svg diff --git a/svg/parts-traced/accessories/accessory-0-9.svg b/svg/parts-traced/accessories/accessory-0-9.svg new file mode 100644 index 00000000..858856d3 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-0-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From e578df0853a456bbeb3b2175589a3891d86d33c6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:28 -0700 Subject: [PATCH 1053/2079] feat: 2D traced accessories band 1 --- svg/parts-traced/accessories/accessory-1-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-1-0.svg diff --git a/svg/parts-traced/accessories/accessory-1-0.svg b/svg/parts-traced/accessories/accessory-1-0.svg new file mode 100644 index 00000000..a0cea768 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-1-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7c96a465f291f8dd9657cb26b5a06c42ba1ad37c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:29 -0700 Subject: [PATCH 1054/2079] feat: 2D traced accessories band 1 --- svg/parts-traced/accessories/accessory-1-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-1-1.svg diff --git a/svg/parts-traced/accessories/accessory-1-1.svg b/svg/parts-traced/accessories/accessory-1-1.svg new file mode 100644 index 00000000..d6f40f95 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-1-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 05c308c68c8351642be22b09b6d6ac17ac34964e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:29 -0700 Subject: [PATCH 1055/2079] feat: 2D traced accessories band 1 --- svg/parts-traced/accessories/accessory-1-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-1-2.svg diff --git a/svg/parts-traced/accessories/accessory-1-2.svg b/svg/parts-traced/accessories/accessory-1-2.svg new file mode 100644 index 00000000..24f08607 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-1-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 0fc439e7e6053253bee2c4e3ce24a0aff6c63bc5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:30 -0700 Subject: [PATCH 1056/2079] feat: 2D traced accessories band 1 --- svg/parts-traced/accessories/accessory-1-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-1-3.svg diff --git a/svg/parts-traced/accessories/accessory-1-3.svg b/svg/parts-traced/accessories/accessory-1-3.svg new file mode 100644 index 00000000..6cbca369 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-1-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 06197f2fa3bb4d1cb955bb057ffc5cfa982e1455 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:30 -0700 Subject: [PATCH 1057/2079] feat: 2D traced accessories band 1 --- svg/parts-traced/accessories/accessory-1-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-1-4.svg diff --git a/svg/parts-traced/accessories/accessory-1-4.svg b/svg/parts-traced/accessories/accessory-1-4.svg new file mode 100644 index 00000000..0c868aa4 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-1-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 770cd621549a3f5228482e60e7e1c41651b8c31f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:31 -0700 Subject: [PATCH 1058/2079] feat: 2D traced accessories band 1 --- svg/parts-traced/accessories/accessory-1-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-1-5.svg diff --git a/svg/parts-traced/accessories/accessory-1-5.svg b/svg/parts-traced/accessories/accessory-1-5.svg new file mode 100644 index 00000000..29c8eeb0 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-1-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 46a750e46c720f85a27c850b71124ee99ce879aa Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:31 -0700 Subject: [PATCH 1059/2079] feat: 2D traced accessories band 1 --- svg/parts-traced/accessories/accessory-1-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-1-6.svg diff --git a/svg/parts-traced/accessories/accessory-1-6.svg b/svg/parts-traced/accessories/accessory-1-6.svg new file mode 100644 index 00000000..b401b52a --- /dev/null +++ b/svg/parts-traced/accessories/accessory-1-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 1d7a9df0b6da1d5f648fc6248a3cc6b038edfb36 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:32 -0700 Subject: [PATCH 1060/2079] feat: 2D traced accessories band 1 --- svg/parts-traced/accessories/accessory-1-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-1-7.svg diff --git a/svg/parts-traced/accessories/accessory-1-7.svg b/svg/parts-traced/accessories/accessory-1-7.svg new file mode 100644 index 00000000..b3dfa656 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-1-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From c819470f2334854031609e6ff23ab15c19ff78b9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:32 -0700 Subject: [PATCH 1061/2079] feat: 2D traced accessories band 1 --- svg/parts-traced/accessories/accessory-1-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-1-8.svg diff --git a/svg/parts-traced/accessories/accessory-1-8.svg b/svg/parts-traced/accessories/accessory-1-8.svg new file mode 100644 index 00000000..840bd8bb --- /dev/null +++ b/svg/parts-traced/accessories/accessory-1-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 1b55bedf259375dfdb517768cc41d4f9caa1b113 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:33 -0700 Subject: [PATCH 1062/2079] feat: 2D traced accessories band 1 --- svg/parts-traced/accessories/accessory-1-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-1-9.svg diff --git a/svg/parts-traced/accessories/accessory-1-9.svg b/svg/parts-traced/accessories/accessory-1-9.svg new file mode 100644 index 00000000..9ffc1b0d --- /dev/null +++ b/svg/parts-traced/accessories/accessory-1-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 72c6e80d0af2e77bbf8725cefb64ffdc94abeb9f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:33 -0700 Subject: [PATCH 1063/2079] feat: 2D traced accessories band 2 --- svg/parts-traced/accessories/accessory-2-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-2-0.svg diff --git a/svg/parts-traced/accessories/accessory-2-0.svg b/svg/parts-traced/accessories/accessory-2-0.svg new file mode 100644 index 00000000..1b7dc97c --- /dev/null +++ b/svg/parts-traced/accessories/accessory-2-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 4b7d4ce9f4dfbe8360104698b1e0f881edd3a382 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:34 -0700 Subject: [PATCH 1064/2079] feat: 2D traced accessories band 2 --- svg/parts-traced/accessories/accessory-2-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-2-1.svg diff --git a/svg/parts-traced/accessories/accessory-2-1.svg b/svg/parts-traced/accessories/accessory-2-1.svg new file mode 100644 index 00000000..3ba3f5fc --- /dev/null +++ b/svg/parts-traced/accessories/accessory-2-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From f770b1e8c240eed3d70d785d68fa754f3855fc4e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:34 -0700 Subject: [PATCH 1065/2079] feat: 2D traced accessories band 2 --- svg/parts-traced/accessories/accessory-2-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-2-2.svg diff --git a/svg/parts-traced/accessories/accessory-2-2.svg b/svg/parts-traced/accessories/accessory-2-2.svg new file mode 100644 index 00000000..6f34c616 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-2-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 8e11d4ba61eb457522555c124efbddf108a95a3d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:35 -0700 Subject: [PATCH 1066/2079] feat: 2D traced accessories band 2 --- svg/parts-traced/accessories/accessory-2-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-2-3.svg diff --git a/svg/parts-traced/accessories/accessory-2-3.svg b/svg/parts-traced/accessories/accessory-2-3.svg new file mode 100644 index 00000000..3a90dbab --- /dev/null +++ b/svg/parts-traced/accessories/accessory-2-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 41ba81a756de53d8cc530bdcf59248924e4371ec Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:35 -0700 Subject: [PATCH 1067/2079] feat: 2D traced accessories band 2 --- svg/parts-traced/accessories/accessory-2-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-2-4.svg diff --git a/svg/parts-traced/accessories/accessory-2-4.svg b/svg/parts-traced/accessories/accessory-2-4.svg new file mode 100644 index 00000000..0c868aa4 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-2-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7c0bbb21478929d2d9629003594f8bcf8e5f1e91 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:36 -0700 Subject: [PATCH 1068/2079] feat: 2D traced accessories band 2 --- svg/parts-traced/accessories/accessory-2-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-2-5.svg diff --git a/svg/parts-traced/accessories/accessory-2-5.svg b/svg/parts-traced/accessories/accessory-2-5.svg new file mode 100644 index 00000000..aaa67075 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-2-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From e0037718bb30ec65e9ae1d246d65e23884683a24 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:36 -0700 Subject: [PATCH 1069/2079] feat: 2D traced accessories band 2 --- svg/parts-traced/accessories/accessory-2-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-2-6.svg diff --git a/svg/parts-traced/accessories/accessory-2-6.svg b/svg/parts-traced/accessories/accessory-2-6.svg new file mode 100644 index 00000000..6cbca369 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-2-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From c19b3bb7f2158237543b3952c93c4908f0c0c1c8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:37 -0700 Subject: [PATCH 1070/2079] feat: 2D traced accessories band 2 --- svg/parts-traced/accessories/accessory-2-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-2-7.svg diff --git a/svg/parts-traced/accessories/accessory-2-7.svg b/svg/parts-traced/accessories/accessory-2-7.svg new file mode 100644 index 00000000..e1431b28 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-2-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From f1e7a8257b36a6672f51d706a3b9c3dc85b2ea62 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:37 -0700 Subject: [PATCH 1071/2079] feat: 2D traced accessories band 2 --- svg/parts-traced/accessories/accessory-2-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-2-8.svg diff --git a/svg/parts-traced/accessories/accessory-2-8.svg b/svg/parts-traced/accessories/accessory-2-8.svg new file mode 100644 index 00000000..197fd63a --- /dev/null +++ b/svg/parts-traced/accessories/accessory-2-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From c328909325de226c723869b02d8e145fb7d6a920 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:38 -0700 Subject: [PATCH 1072/2079] feat: 2D traced accessories band 2 --- svg/parts-traced/accessories/accessory-2-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-2-9.svg diff --git a/svg/parts-traced/accessories/accessory-2-9.svg b/svg/parts-traced/accessories/accessory-2-9.svg new file mode 100644 index 00000000..4f40dd6d --- /dev/null +++ b/svg/parts-traced/accessories/accessory-2-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9a4d5a0dc76de6659e2ab61b4b6b519ffbdda00f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:38 -0700 Subject: [PATCH 1073/2079] feat: 2D traced accessories band 3 --- svg/parts-traced/accessories/accessory-3-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-3-0.svg diff --git a/svg/parts-traced/accessories/accessory-3-0.svg b/svg/parts-traced/accessories/accessory-3-0.svg new file mode 100644 index 00000000..0c868aa4 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-3-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From e6abc54d69e2ecfd9b299d6efe585be764df2ccd Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:39 -0700 Subject: [PATCH 1074/2079] feat: 2D traced accessories band 3 --- svg/parts-traced/accessories/accessory-3-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-3-1.svg diff --git a/svg/parts-traced/accessories/accessory-3-1.svg b/svg/parts-traced/accessories/accessory-3-1.svg new file mode 100644 index 00000000..8de8945b --- /dev/null +++ b/svg/parts-traced/accessories/accessory-3-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From c071e394ab5f4092b723f5b94c2fe0810dbd8231 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:39 -0700 Subject: [PATCH 1075/2079] feat: 2D traced accessories band 3 --- svg/parts-traced/accessories/accessory-3-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-3-2.svg diff --git a/svg/parts-traced/accessories/accessory-3-2.svg b/svg/parts-traced/accessories/accessory-3-2.svg new file mode 100644 index 00000000..6da0c4d8 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-3-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From b98f39c3fce196e16cc7d4a67b4f906b3c8ec01d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:40 -0700 Subject: [PATCH 1076/2079] feat: 2D traced accessories band 3 --- svg/parts-traced/accessories/accessory-3-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-3-3.svg diff --git a/svg/parts-traced/accessories/accessory-3-3.svg b/svg/parts-traced/accessories/accessory-3-3.svg new file mode 100644 index 00000000..4f40dd6d --- /dev/null +++ b/svg/parts-traced/accessories/accessory-3-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2e1e24367d9a7a96e9e8b81dab52ece6b78bca9f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:40 -0700 Subject: [PATCH 1077/2079] feat: 2D traced accessories band 3 --- svg/parts-traced/accessories/accessory-3-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-3-4.svg diff --git a/svg/parts-traced/accessories/accessory-3-4.svg b/svg/parts-traced/accessories/accessory-3-4.svg new file mode 100644 index 00000000..3cee1337 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-3-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From ead3cbdd9e8f5f2c05d632ee334da6a6c29a0c38 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:41 -0700 Subject: [PATCH 1078/2079] feat: 2D traced accessories band 3 --- svg/parts-traced/accessories/accessory-3-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-3-5.svg diff --git a/svg/parts-traced/accessories/accessory-3-5.svg b/svg/parts-traced/accessories/accessory-3-5.svg new file mode 100644 index 00000000..4916bd45 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-3-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From bb48246b68f3d9585d94701df6179f874a850876 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:41 -0700 Subject: [PATCH 1079/2079] feat: 2D traced accessories band 3 --- svg/parts-traced/accessories/accessory-3-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-3-6.svg diff --git a/svg/parts-traced/accessories/accessory-3-6.svg b/svg/parts-traced/accessories/accessory-3-6.svg new file mode 100644 index 00000000..6cbca369 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-3-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From b43feee6396fb4157e38ff14290350dc7efda448 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:42 -0700 Subject: [PATCH 1080/2079] feat: 2D traced accessories band 3 --- svg/parts-traced/accessories/accessory-3-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-3-7.svg diff --git a/svg/parts-traced/accessories/accessory-3-7.svg b/svg/parts-traced/accessories/accessory-3-7.svg new file mode 100644 index 00000000..197fd63a --- /dev/null +++ b/svg/parts-traced/accessories/accessory-3-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From abfe817a6a29effc9a17650d5e098729c1f0a7a6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:42 -0700 Subject: [PATCH 1081/2079] feat: 2D traced accessories band 3 --- svg/parts-traced/accessories/accessory-3-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-3-8.svg diff --git a/svg/parts-traced/accessories/accessory-3-8.svg b/svg/parts-traced/accessories/accessory-3-8.svg new file mode 100644 index 00000000..14292b6f --- /dev/null +++ b/svg/parts-traced/accessories/accessory-3-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From b0861a59fac6e412defe0f3eff64656557d117d0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:43 -0700 Subject: [PATCH 1082/2079] feat: 2D traced accessories band 3 --- svg/parts-traced/accessories/accessory-3-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-3-9.svg diff --git a/svg/parts-traced/accessories/accessory-3-9.svg b/svg/parts-traced/accessories/accessory-3-9.svg new file mode 100644 index 00000000..79b037d1 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-3-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 90505a38cfc244c7d903f395698eae19c6ff7a33 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:43 -0700 Subject: [PATCH 1083/2079] feat: 2D traced accessories band 4 --- svg/parts-traced/accessories/accessory-4-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-4-0.svg diff --git a/svg/parts-traced/accessories/accessory-4-0.svg b/svg/parts-traced/accessories/accessory-4-0.svg new file mode 100644 index 00000000..dd7c16f6 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-4-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 1e7514dc7ee34d96b34e1ba27fddc65494db8d0a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:44 -0700 Subject: [PATCH 1084/2079] feat: 2D traced accessories band 4 --- svg/parts-traced/accessories/accessory-4-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-4-1.svg diff --git a/svg/parts-traced/accessories/accessory-4-1.svg b/svg/parts-traced/accessories/accessory-4-1.svg new file mode 100644 index 00000000..744b6f07 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-4-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 1ae552191b51979d51a851ae41cb3d2391c02027 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:44 -0700 Subject: [PATCH 1085/2079] feat: 2D traced accessories band 4 --- svg/parts-traced/accessories/accessory-4-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-4-2.svg diff --git a/svg/parts-traced/accessories/accessory-4-2.svg b/svg/parts-traced/accessories/accessory-4-2.svg new file mode 100644 index 00000000..f048cfab --- /dev/null +++ b/svg/parts-traced/accessories/accessory-4-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 418da935c6a5fb875439d3e9cf9c9b5d4d66cd69 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:45 -0700 Subject: [PATCH 1086/2079] feat: 2D traced accessories band 4 --- svg/parts-traced/accessories/accessory-4-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-4-3.svg diff --git a/svg/parts-traced/accessories/accessory-4-3.svg b/svg/parts-traced/accessories/accessory-4-3.svg new file mode 100644 index 00000000..4739a25b --- /dev/null +++ b/svg/parts-traced/accessories/accessory-4-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 8895491f6fb94af7f240c1ed2d2bbda61b756647 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:45 -0700 Subject: [PATCH 1087/2079] feat: 2D traced accessories band 4 --- svg/parts-traced/accessories/accessory-4-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-4-4.svg diff --git a/svg/parts-traced/accessories/accessory-4-4.svg b/svg/parts-traced/accessories/accessory-4-4.svg new file mode 100644 index 00000000..29c8eeb0 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-4-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From f420d875b1f96042b4c09cc71cf01f87de11b7e0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:46 -0700 Subject: [PATCH 1088/2079] feat: 2D traced accessories band 4 --- svg/parts-traced/accessories/accessory-4-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-4-5.svg diff --git a/svg/parts-traced/accessories/accessory-4-5.svg b/svg/parts-traced/accessories/accessory-4-5.svg new file mode 100644 index 00000000..0c868aa4 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-4-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 753dc35b06b5d9597b498f932965042c4b9279c7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:46 -0700 Subject: [PATCH 1089/2079] feat: 2D traced accessories band 4 --- svg/parts-traced/accessories/accessory-4-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-4-6.svg diff --git a/svg/parts-traced/accessories/accessory-4-6.svg b/svg/parts-traced/accessories/accessory-4-6.svg new file mode 100644 index 00000000..b401b52a --- /dev/null +++ b/svg/parts-traced/accessories/accessory-4-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 0a931c3e3a611a865cbbfaa5168defc5138107cf Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:47 -0700 Subject: [PATCH 1090/2079] feat: 2D traced accessories band 4 --- svg/parts-traced/accessories/accessory-4-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-4-7.svg diff --git a/svg/parts-traced/accessories/accessory-4-7.svg b/svg/parts-traced/accessories/accessory-4-7.svg new file mode 100644 index 00000000..6cbca369 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-4-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 09a9c733b96fd4d0b59c2a4ca3498dfebe9e1a9c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:47 -0700 Subject: [PATCH 1091/2079] feat: 2D traced accessories band 4 --- svg/parts-traced/accessories/accessory-4-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-4-8.svg diff --git a/svg/parts-traced/accessories/accessory-4-8.svg b/svg/parts-traced/accessories/accessory-4-8.svg new file mode 100644 index 00000000..508db62c --- /dev/null +++ b/svg/parts-traced/accessories/accessory-4-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From c86e553ee48e6221a4f837483888f0a1284f7379 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:48 -0700 Subject: [PATCH 1092/2079] feat: 2D traced accessories band 4 --- svg/parts-traced/accessories/accessory-4-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-4-9.svg diff --git a/svg/parts-traced/accessories/accessory-4-9.svg b/svg/parts-traced/accessories/accessory-4-9.svg new file mode 100644 index 00000000..a0cea768 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-4-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 72d45c92b967c5dc2634fce1ea8048879dd15bc1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:48 -0700 Subject: [PATCH 1093/2079] feat: 2D traced accessories band 5 --- svg/parts-traced/accessories/accessory-5-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-5-0.svg diff --git a/svg/parts-traced/accessories/accessory-5-0.svg b/svg/parts-traced/accessories/accessory-5-0.svg new file mode 100644 index 00000000..b374b3ac --- /dev/null +++ b/svg/parts-traced/accessories/accessory-5-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 52b6878ef674adf6119e2054363f71f675ee243b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:49 -0700 Subject: [PATCH 1094/2079] feat: 2D traced accessories band 5 --- svg/parts-traced/accessories/accessory-5-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-5-1.svg diff --git a/svg/parts-traced/accessories/accessory-5-1.svg b/svg/parts-traced/accessories/accessory-5-1.svg new file mode 100644 index 00000000..dc2e669e --- /dev/null +++ b/svg/parts-traced/accessories/accessory-5-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 53876b5333b96032da61dd73a747cf7ffb4a11e8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:49 -0700 Subject: [PATCH 1095/2079] feat: 2D traced accessories band 5 --- svg/parts-traced/accessories/accessory-5-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-5-2.svg diff --git a/svg/parts-traced/accessories/accessory-5-2.svg b/svg/parts-traced/accessories/accessory-5-2.svg new file mode 100644 index 00000000..0c868aa4 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-5-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From e959a431c04b7c4318e6acea587260dced856ea8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:50 -0700 Subject: [PATCH 1096/2079] feat: 2D traced accessories band 5 --- svg/parts-traced/accessories/accessory-5-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-5-3.svg diff --git a/svg/parts-traced/accessories/accessory-5-3.svg b/svg/parts-traced/accessories/accessory-5-3.svg new file mode 100644 index 00000000..9cd3acf2 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-5-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From e00d5398df4e830403dee5ba26440290bf47e931 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:50 -0700 Subject: [PATCH 1097/2079] feat: 2D traced accessories band 5 --- svg/parts-traced/accessories/accessory-5-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-5-4.svg diff --git a/svg/parts-traced/accessories/accessory-5-4.svg b/svg/parts-traced/accessories/accessory-5-4.svg new file mode 100644 index 00000000..af4619bc --- /dev/null +++ b/svg/parts-traced/accessories/accessory-5-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9f8c217f28db9be70279b48b1d1d754313fecacf Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:51 -0700 Subject: [PATCH 1098/2079] feat: 2D traced accessories band 5 --- svg/parts-traced/accessories/accessory-5-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-5-5.svg diff --git a/svg/parts-traced/accessories/accessory-5-5.svg b/svg/parts-traced/accessories/accessory-5-5.svg new file mode 100644 index 00000000..d1683a82 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-5-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2d26b4bc6bcea3d8c6a62e6948de300a56a64fa3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:51 -0700 Subject: [PATCH 1099/2079] feat: 2D traced accessories band 5 --- svg/parts-traced/accessories/accessory-5-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-5-6.svg diff --git a/svg/parts-traced/accessories/accessory-5-6.svg b/svg/parts-traced/accessories/accessory-5-6.svg new file mode 100644 index 00000000..ea271e15 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-5-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From af696848d106c35081c2644005cf229a352d805d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:52 -0700 Subject: [PATCH 1100/2079] feat: 2D traced accessories band 5 --- svg/parts-traced/accessories/accessory-5-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-5-7.svg diff --git a/svg/parts-traced/accessories/accessory-5-7.svg b/svg/parts-traced/accessories/accessory-5-7.svg new file mode 100644 index 00000000..8420abff --- /dev/null +++ b/svg/parts-traced/accessories/accessory-5-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 8869d5b31e677fd2db4071cc324a2024a455b9e2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:52 -0700 Subject: [PATCH 1101/2079] feat: 2D traced accessories band 5 --- svg/parts-traced/accessories/accessory-5-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-5-8.svg diff --git a/svg/parts-traced/accessories/accessory-5-8.svg b/svg/parts-traced/accessories/accessory-5-8.svg new file mode 100644 index 00000000..d0ab0021 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-5-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From afd9185e952109bc94fdf2e172712020c2092396 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:53 -0700 Subject: [PATCH 1102/2079] feat: 2D traced accessories band 5 --- svg/parts-traced/accessories/accessory-5-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-5-9.svg diff --git a/svg/parts-traced/accessories/accessory-5-9.svg b/svg/parts-traced/accessories/accessory-5-9.svg new file mode 100644 index 00000000..510f9e59 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-5-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From a86c2f054ce1750e61a93aade7df0962e412b2df Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:53 -0700 Subject: [PATCH 1103/2079] feat: 2D traced accessories band 6 --- svg/parts-traced/accessories/accessory-6-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-6-0.svg diff --git a/svg/parts-traced/accessories/accessory-6-0.svg b/svg/parts-traced/accessories/accessory-6-0.svg new file mode 100644 index 00000000..a9282de0 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-6-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From af0740e161be13f00576c065af20e4bba22f606c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:54 -0700 Subject: [PATCH 1104/2079] feat: 2D traced accessories band 6 --- svg/parts-traced/accessories/accessory-6-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-6-1.svg diff --git a/svg/parts-traced/accessories/accessory-6-1.svg b/svg/parts-traced/accessories/accessory-6-1.svg new file mode 100644 index 00000000..197fd63a --- /dev/null +++ b/svg/parts-traced/accessories/accessory-6-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From 353e18c58fe9169d85892a3f72c20e03bb6b2234 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:54 -0700 Subject: [PATCH 1105/2079] feat: 2D traced accessories band 6 --- svg/parts-traced/accessories/accessory-6-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-6-2.svg diff --git a/svg/parts-traced/accessories/accessory-6-2.svg b/svg/parts-traced/accessories/accessory-6-2.svg new file mode 100644 index 00000000..6cbca369 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-6-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9e7b6a59de4e795d2462d42af54a3842b732ad3b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:55 -0700 Subject: [PATCH 1106/2079] feat: 2D traced accessories band 6 --- svg/parts-traced/accessories/accessory-6-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-6-3.svg diff --git a/svg/parts-traced/accessories/accessory-6-3.svg b/svg/parts-traced/accessories/accessory-6-3.svg new file mode 100644 index 00000000..72f7ac0c --- /dev/null +++ b/svg/parts-traced/accessories/accessory-6-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From f4cfffc24e9f55d16607160f762e8160bb2826ab Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:55 -0700 Subject: [PATCH 1107/2079] feat: 2D traced accessories band 6 --- svg/parts-traced/accessories/accessory-6-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-6-4.svg diff --git a/svg/parts-traced/accessories/accessory-6-4.svg b/svg/parts-traced/accessories/accessory-6-4.svg new file mode 100644 index 00000000..0c868aa4 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-6-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From ff908a656807964eefccab83ec0ff03c3f57fdee Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:56 -0700 Subject: [PATCH 1108/2079] feat: 2D traced accessories band 6 --- svg/parts-traced/accessories/accessory-6-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-6-5.svg diff --git a/svg/parts-traced/accessories/accessory-6-5.svg b/svg/parts-traced/accessories/accessory-6-5.svg new file mode 100644 index 00000000..4f40dd6d --- /dev/null +++ b/svg/parts-traced/accessories/accessory-6-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2ff579b01bd1c9acd2f2112d054a8af574151e6a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:56 -0700 Subject: [PATCH 1109/2079] feat: 2D traced accessories band 6 --- svg/parts-traced/accessories/accessory-6-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-6-6.svg diff --git a/svg/parts-traced/accessories/accessory-6-6.svg b/svg/parts-traced/accessories/accessory-6-6.svg new file mode 100644 index 00000000..89ae234b --- /dev/null +++ b/svg/parts-traced/accessories/accessory-6-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From f19815401427eb1358cf13fd19ad2cb49276702c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:57 -0700 Subject: [PATCH 1110/2079] feat: 2D traced accessories band 6 --- svg/parts-traced/accessories/accessory-6-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-6-7.svg diff --git a/svg/parts-traced/accessories/accessory-6-7.svg b/svg/parts-traced/accessories/accessory-6-7.svg new file mode 100644 index 00000000..0cc3cd35 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-6-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3ed17adf3efe579df1d6f44323df0d1b98c362c7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:57 -0700 Subject: [PATCH 1111/2079] feat: 2D traced accessories band 6 --- svg/parts-traced/accessories/accessory-6-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-6-8.svg diff --git a/svg/parts-traced/accessories/accessory-6-8.svg b/svg/parts-traced/accessories/accessory-6-8.svg new file mode 100644 index 00000000..32d63c9e --- /dev/null +++ b/svg/parts-traced/accessories/accessory-6-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 9bb7c325745dd76524f1caee51c038c3547cc4d3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:58 -0700 Subject: [PATCH 1112/2079] feat: 2D traced accessories band 6 --- svg/parts-traced/accessories/accessory-6-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-6-9.svg diff --git a/svg/parts-traced/accessories/accessory-6-9.svg b/svg/parts-traced/accessories/accessory-6-9.svg new file mode 100644 index 00000000..af680c43 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-6-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3a37880867341d81805450753bfe4b8fd68416f1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:58 -0700 Subject: [PATCH 1113/2079] feat: 2D traced accessories band 7 --- svg/parts-traced/accessories/accessory-7-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-7-0.svg diff --git a/svg/parts-traced/accessories/accessory-7-0.svg b/svg/parts-traced/accessories/accessory-7-0.svg new file mode 100644 index 00000000..84aa1cfa --- /dev/null +++ b/svg/parts-traced/accessories/accessory-7-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From def088cda8fafdb5a5b0cdf8567f371e64dc7c3c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:59 -0700 Subject: [PATCH 1114/2079] feat: 2D traced accessories band 7 --- svg/parts-traced/accessories/accessory-7-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-7-1.svg diff --git a/svg/parts-traced/accessories/accessory-7-1.svg b/svg/parts-traced/accessories/accessory-7-1.svg new file mode 100644 index 00000000..4f40dd6d --- /dev/null +++ b/svg/parts-traced/accessories/accessory-7-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From dc53e18019f5e23b956c92e4f5bc01fc3c7feae9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:41:59 -0700 Subject: [PATCH 1115/2079] feat: 2D traced accessories band 7 --- svg/parts-traced/accessories/accessory-7-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-7-2.svg diff --git a/svg/parts-traced/accessories/accessory-7-2.svg b/svg/parts-traced/accessories/accessory-7-2.svg new file mode 100644 index 00000000..af680c43 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-7-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 59017c5ce454f554a45a4a5e497ed3f24dfc0eca Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:00 -0700 Subject: [PATCH 1116/2079] feat: 2D traced accessories band 7 --- svg/parts-traced/accessories/accessory-7-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-7-3.svg diff --git a/svg/parts-traced/accessories/accessory-7-3.svg b/svg/parts-traced/accessories/accessory-7-3.svg new file mode 100644 index 00000000..01041854 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-7-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 30a5508aec7fffdc88a1557a6853840ad95b93d3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:01 -0700 Subject: [PATCH 1117/2079] feat: 2D traced accessories band 7 --- svg/parts-traced/accessories/accessory-7-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-7-4.svg diff --git a/svg/parts-traced/accessories/accessory-7-4.svg b/svg/parts-traced/accessories/accessory-7-4.svg new file mode 100644 index 00000000..e1431b28 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-7-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From 61c266c21503ff5ee7164faffe590b67d452803e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:01 -0700 Subject: [PATCH 1118/2079] feat: 2D traced accessories band 7 --- svg/parts-traced/accessories/accessory-7-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-7-5.svg diff --git a/svg/parts-traced/accessories/accessory-7-5.svg b/svg/parts-traced/accessories/accessory-7-5.svg new file mode 100644 index 00000000..358f39c5 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-7-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From b4825c6a151675da41fcd37b693a0665e27891d9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:02 -0700 Subject: [PATCH 1119/2079] feat: 2D traced accessories band 7 --- svg/parts-traced/accessories/accessory-7-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-7-6.svg diff --git a/svg/parts-traced/accessories/accessory-7-6.svg b/svg/parts-traced/accessories/accessory-7-6.svg new file mode 100644 index 00000000..197fd63a --- /dev/null +++ b/svg/parts-traced/accessories/accessory-7-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3ca92922a58314d2a65d5e6d4a453d9e27e21ae7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:02 -0700 Subject: [PATCH 1120/2079] feat: 2D traced accessories band 7 --- svg/parts-traced/accessories/accessory-7-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-7-7.svg diff --git a/svg/parts-traced/accessories/accessory-7-7.svg b/svg/parts-traced/accessories/accessory-7-7.svg new file mode 100644 index 00000000..0c868aa4 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-7-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From f63c815ceb47c1206352f7d544cd3882041b0cb8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:03 -0700 Subject: [PATCH 1121/2079] feat: 2D traced accessories band 7 --- svg/parts-traced/accessories/accessory-7-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-7-8.svg diff --git a/svg/parts-traced/accessories/accessory-7-8.svg b/svg/parts-traced/accessories/accessory-7-8.svg new file mode 100644 index 00000000..f044aaaa --- /dev/null +++ b/svg/parts-traced/accessories/accessory-7-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 05b8f7c0dbc7243d289e7d5062859aa282396eb5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:03 -0700 Subject: [PATCH 1122/2079] feat: 2D traced accessories band 7 --- svg/parts-traced/accessories/accessory-7-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-7-9.svg diff --git a/svg/parts-traced/accessories/accessory-7-9.svg b/svg/parts-traced/accessories/accessory-7-9.svg new file mode 100644 index 00000000..6cbca369 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-7-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 83144e97eef2bcab8461997607a57d2facb574ff Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:04 -0700 Subject: [PATCH 1123/2079] feat: 2D traced accessories band 8 --- svg/parts-traced/accessories/accessory-8-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-8-0.svg diff --git a/svg/parts-traced/accessories/accessory-8-0.svg b/svg/parts-traced/accessories/accessory-8-0.svg new file mode 100644 index 00000000..e245b923 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-8-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From b198ba92b27a482ba7ea8d183f3fc416e919d79c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:04 -0700 Subject: [PATCH 1124/2079] feat: 2D traced accessories band 8 --- svg/parts-traced/accessories/accessory-8-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-8-1.svg diff --git a/svg/parts-traced/accessories/accessory-8-1.svg b/svg/parts-traced/accessories/accessory-8-1.svg new file mode 100644 index 00000000..f013bbb9 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-8-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From d5cfedc319d2c6fa56b71df4fde8b418dd3081e6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:05 -0700 Subject: [PATCH 1125/2079] feat: 2D traced accessories band 8 --- svg/parts-traced/accessories/accessory-8-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-8-2.svg diff --git a/svg/parts-traced/accessories/accessory-8-2.svg b/svg/parts-traced/accessories/accessory-8-2.svg new file mode 100644 index 00000000..0d95befd --- /dev/null +++ b/svg/parts-traced/accessories/accessory-8-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From d1f9555e20600d8eef984d59218da61c555d7783 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:05 -0700 Subject: [PATCH 1126/2079] feat: 2D traced accessories band 8 --- svg/parts-traced/accessories/accessory-8-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-8-3.svg diff --git a/svg/parts-traced/accessories/accessory-8-3.svg b/svg/parts-traced/accessories/accessory-8-3.svg new file mode 100644 index 00000000..3b6c7fd6 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-8-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2975bad1be2af282a4f99d569d54428d08532179 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:06 -0700 Subject: [PATCH 1127/2079] feat: 2D traced accessories band 8 --- svg/parts-traced/accessories/accessory-8-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-8-4.svg diff --git a/svg/parts-traced/accessories/accessory-8-4.svg b/svg/parts-traced/accessories/accessory-8-4.svg new file mode 100644 index 00000000..200c2c0f --- /dev/null +++ b/svg/parts-traced/accessories/accessory-8-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From d65a5af221d22d9e39f0aea4b68067e06dc9319d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:06 -0700 Subject: [PATCH 1128/2079] feat: 2D traced accessories band 8 --- svg/parts-traced/accessories/accessory-8-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-8-5.svg diff --git a/svg/parts-traced/accessories/accessory-8-5.svg b/svg/parts-traced/accessories/accessory-8-5.svg new file mode 100644 index 00000000..a93f852d --- /dev/null +++ b/svg/parts-traced/accessories/accessory-8-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From 4deea4aea03c6ccb5ff10a169b032dadab0a24bb Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:07 -0700 Subject: [PATCH 1129/2079] feat: 2D traced accessories band 8 --- svg/parts-traced/accessories/accessory-8-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-8-6.svg diff --git a/svg/parts-traced/accessories/accessory-8-6.svg b/svg/parts-traced/accessories/accessory-8-6.svg new file mode 100644 index 00000000..7422d08e --- /dev/null +++ b/svg/parts-traced/accessories/accessory-8-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 58277a2b3d44a946d85a190b02747b2ed4902f47 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:07 -0700 Subject: [PATCH 1130/2079] feat: 2D traced accessories band 8 --- svg/parts-traced/accessories/accessory-8-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-8-7.svg diff --git a/svg/parts-traced/accessories/accessory-8-7.svg b/svg/parts-traced/accessories/accessory-8-7.svg new file mode 100644 index 00000000..0c868aa4 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-8-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 6f1a513e9f6424e6d2d78fb87e1b2d5ba4c3b1d0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:08 -0700 Subject: [PATCH 1131/2079] feat: 2D traced accessories band 8 --- svg/parts-traced/accessories/accessory-8-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-8-8.svg diff --git a/svg/parts-traced/accessories/accessory-8-8.svg b/svg/parts-traced/accessories/accessory-8-8.svg new file mode 100644 index 00000000..8a552785 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-8-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From 609fcb28003f1a008c6874d0cb64107c05ea8659 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:08 -0700 Subject: [PATCH 1132/2079] feat: 2D traced accessories band 8 --- svg/parts-traced/accessories/accessory-8-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-8-9.svg diff --git a/svg/parts-traced/accessories/accessory-8-9.svg b/svg/parts-traced/accessories/accessory-8-9.svg new file mode 100644 index 00000000..5790bf0f --- /dev/null +++ b/svg/parts-traced/accessories/accessory-8-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From 7679f890d061ad3424d0911f0b46c479941043cf Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:09 -0700 Subject: [PATCH 1133/2079] feat: 2D traced accessories band 9 --- svg/parts-traced/accessories/accessory-9-0.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-9-0.svg diff --git a/svg/parts-traced/accessories/accessory-9-0.svg b/svg/parts-traced/accessories/accessory-9-0.svg new file mode 100644 index 00000000..af680c43 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-9-0.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2300fcdc8e6c8b7aa8e9a7a731ef35f4bfe71d1c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:09 -0700 Subject: [PATCH 1134/2079] feat: 2D traced accessories band 9 --- svg/parts-traced/accessories/accessory-9-1.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-9-1.svg diff --git a/svg/parts-traced/accessories/accessory-9-1.svg b/svg/parts-traced/accessories/accessory-9-1.svg new file mode 100644 index 00000000..4f40dd6d --- /dev/null +++ b/svg/parts-traced/accessories/accessory-9-1.svg @@ -0,0 +1 @@ + \ No newline at end of file From b3872078f40c3d75b476ef8ab39272390f286465 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:10 -0700 Subject: [PATCH 1135/2079] feat: 2D traced accessories band 9 --- svg/parts-traced/accessories/accessory-9-2.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-9-2.svg diff --git a/svg/parts-traced/accessories/accessory-9-2.svg b/svg/parts-traced/accessories/accessory-9-2.svg new file mode 100644 index 00000000..5cc59e80 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-9-2.svg @@ -0,0 +1 @@ + \ No newline at end of file From 1cd2730d5e860b10bf23ce51fca77b1c154563e8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:11 -0700 Subject: [PATCH 1136/2079] feat: 2D traced accessories band 9 --- svg/parts-traced/accessories/accessory-9-3.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-9-3.svg diff --git a/svg/parts-traced/accessories/accessory-9-3.svg b/svg/parts-traced/accessories/accessory-9-3.svg new file mode 100644 index 00000000..b059c005 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-9-3.svg @@ -0,0 +1 @@ + \ No newline at end of file From e411330c20d9a5019096d20068eb5ee5572c98d1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:11 -0700 Subject: [PATCH 1137/2079] feat: 2D traced accessories band 9 --- svg/parts-traced/accessories/accessory-9-4.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-9-4.svg diff --git a/svg/parts-traced/accessories/accessory-9-4.svg b/svg/parts-traced/accessories/accessory-9-4.svg new file mode 100644 index 00000000..6cbca369 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-9-4.svg @@ -0,0 +1 @@ + \ No newline at end of file From fc5ef8a051c81ab8d1ef48cf8ab3275b9f4524fc Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:12 -0700 Subject: [PATCH 1138/2079] feat: 2D traced accessories band 9 --- svg/parts-traced/accessories/accessory-9-5.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-9-5.svg diff --git a/svg/parts-traced/accessories/accessory-9-5.svg b/svg/parts-traced/accessories/accessory-9-5.svg new file mode 100644 index 00000000..73505a49 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-9-5.svg @@ -0,0 +1 @@ + \ No newline at end of file From dad384d29232c1a4afca0673035bad4dc3f17a79 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:12 -0700 Subject: [PATCH 1139/2079] feat: 2D traced accessories band 9 --- svg/parts-traced/accessories/accessory-9-6.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-9-6.svg diff --git a/svg/parts-traced/accessories/accessory-9-6.svg b/svg/parts-traced/accessories/accessory-9-6.svg new file mode 100644 index 00000000..9e0e9490 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-9-6.svg @@ -0,0 +1 @@ + \ No newline at end of file From 4c82409b49442733f35f4e2dc5130d8941fde2ae Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:13 -0700 Subject: [PATCH 1140/2079] feat: 2D traced accessories band 9 --- svg/parts-traced/accessories/accessory-9-7.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-9-7.svg diff --git a/svg/parts-traced/accessories/accessory-9-7.svg b/svg/parts-traced/accessories/accessory-9-7.svg new file mode 100644 index 00000000..197fd63a --- /dev/null +++ b/svg/parts-traced/accessories/accessory-9-7.svg @@ -0,0 +1 @@ + \ No newline at end of file From 29602ed6d33dda3bd040caf1a12d5594029abc36 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:13 -0700 Subject: [PATCH 1141/2079] feat: 2D traced accessories band 9 --- svg/parts-traced/accessories/accessory-9-8.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-9-8.svg diff --git a/svg/parts-traced/accessories/accessory-9-8.svg b/svg/parts-traced/accessories/accessory-9-8.svg new file mode 100644 index 00000000..0c868aa4 --- /dev/null +++ b/svg/parts-traced/accessories/accessory-9-8.svg @@ -0,0 +1 @@ + \ No newline at end of file From cd01d103b58aca80a4c17e42b211a1ebdfea59bd Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:14 -0700 Subject: [PATCH 1142/2079] feat: 2D traced accessories band 9 --- svg/parts-traced/accessories/accessory-9-9.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 svg/parts-traced/accessories/accessory-9-9.svg diff --git a/svg/parts-traced/accessories/accessory-9-9.svg b/svg/parts-traced/accessories/accessory-9-9.svg new file mode 100644 index 00000000..6a8481aa --- /dev/null +++ b/svg/parts-traced/accessories/accessory-9-9.svg @@ -0,0 +1 @@ + \ No newline at end of file From ed70e47bb10e36c3d0aa4682928373cdaa73bc87 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:14 -0700 Subject: [PATCH 1143/2079] chore: remove old accessory-0.svg --- svg/parts-traced/accessories/accessory-0.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/accessories/accessory-0.svg diff --git a/svg/parts-traced/accessories/accessory-0.svg b/svg/parts-traced/accessories/accessory-0.svg deleted file mode 100644 index 197fd63a..00000000 --- a/svg/parts-traced/accessories/accessory-0.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 3e3b0b2fb40c2ef05e2aa63baa20479346d8f82f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:15 -0700 Subject: [PATCH 1144/2079] chore: remove old accessory-1.svg --- svg/parts-traced/accessories/accessory-1.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/accessories/accessory-1.svg diff --git a/svg/parts-traced/accessories/accessory-1.svg b/svg/parts-traced/accessories/accessory-1.svg deleted file mode 100644 index 0c868aa4..00000000 --- a/svg/parts-traced/accessories/accessory-1.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From f62bcd6530f4248e8be4d960a027239d864d430b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:15 -0700 Subject: [PATCH 1145/2079] chore: remove old accessory-2.svg --- svg/parts-traced/accessories/accessory-2.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/accessories/accessory-2.svg diff --git a/svg/parts-traced/accessories/accessory-2.svg b/svg/parts-traced/accessories/accessory-2.svg deleted file mode 100644 index 8c876350..00000000 --- a/svg/parts-traced/accessories/accessory-2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 8d68cc7666bebd43f678fc2c6cceb59a0614959d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:16 -0700 Subject: [PATCH 1146/2079] chore: remove old accessory-3.svg --- svg/parts-traced/accessories/accessory-3.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/accessories/accessory-3.svg diff --git a/svg/parts-traced/accessories/accessory-3.svg b/svg/parts-traced/accessories/accessory-3.svg deleted file mode 100644 index 93f5b95e..00000000 --- a/svg/parts-traced/accessories/accessory-3.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 42920378e7b0f1391f28a07bf5d07d2e06c70e47 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:16 -0700 Subject: [PATCH 1147/2079] chore: remove old accessory-4.svg --- svg/parts-traced/accessories/accessory-4.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/accessories/accessory-4.svg diff --git a/svg/parts-traced/accessories/accessory-4.svg b/svg/parts-traced/accessories/accessory-4.svg deleted file mode 100644 index 4a842795..00000000 --- a/svg/parts-traced/accessories/accessory-4.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 86df5ef6e10abe4972d79a0eb72566eee91549e1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:17 -0700 Subject: [PATCH 1148/2079] chore: remove old accessory-5.svg --- svg/parts-traced/accessories/accessory-5.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/accessories/accessory-5.svg diff --git a/svg/parts-traced/accessories/accessory-5.svg b/svg/parts-traced/accessories/accessory-5.svg deleted file mode 100644 index 4f40dd6d..00000000 --- a/svg/parts-traced/accessories/accessory-5.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 67c5a1e64c4cf5835487cbaffcf61555110bdbd0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:17 -0700 Subject: [PATCH 1149/2079] chore: remove old accessory-6.svg --- svg/parts-traced/accessories/accessory-6.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/accessories/accessory-6.svg diff --git a/svg/parts-traced/accessories/accessory-6.svg b/svg/parts-traced/accessories/accessory-6.svg deleted file mode 100644 index 842e0f88..00000000 --- a/svg/parts-traced/accessories/accessory-6.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 1a10c1fb13409eb85e5ad350f43436372bdc849a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:18 -0700 Subject: [PATCH 1150/2079] chore: remove old accessory-7.svg --- svg/parts-traced/accessories/accessory-7.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/accessories/accessory-7.svg diff --git a/svg/parts-traced/accessories/accessory-7.svg b/svg/parts-traced/accessories/accessory-7.svg deleted file mode 100644 index 84b682b1..00000000 --- a/svg/parts-traced/accessories/accessory-7.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 61ae9f5b6258571894df952ae2453f620f2f854d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:18 -0700 Subject: [PATCH 1151/2079] chore: remove old accessory-8.svg --- svg/parts-traced/accessories/accessory-8.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/accessories/accessory-8.svg diff --git a/svg/parts-traced/accessories/accessory-8.svg b/svg/parts-traced/accessories/accessory-8.svg deleted file mode 100644 index 6cbca369..00000000 --- a/svg/parts-traced/accessories/accessory-8.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From ba76aa071929117784eddc4e3a90d2b87ccec9ab Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:19 -0700 Subject: [PATCH 1152/2079] chore: remove old accessory-9.svg --- svg/parts-traced/accessories/accessory-9.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 svg/parts-traced/accessories/accessory-9.svg diff --git a/svg/parts-traced/accessories/accessory-9.svg b/svg/parts-traced/accessories/accessory-9.svg deleted file mode 100644 index 858856d3..00000000 --- a/svg/parts-traced/accessories/accessory-9.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 10edbcbabe9ceb01e29e296b28c2d79af5a5c82b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:20 -0700 Subject: [PATCH 1153/2079] feat: 2D part indexing (preview.html) --- svg/preview.html | 85 +++++++++++++++++++++++++++++++----------------- 1 file changed, 55 insertions(+), 30 deletions(-) diff --git a/svg/preview.html b/svg/preview.html index 4b9d5459..2dcc2ac9 100644 --- a/svg/preview.html +++ b/svg/preview.html @@ -130,7 +130,9 @@

Parts Library

const PART_TYPES = ['heads', 'bodies', 'eyes', 'mouths', 'accessories']; const PART_SINGULAR = { heads: 'head', bodies: 'body', eyes: 'eye', mouths: 'mouth', accessories: 'accessory' }; -// Load all SVG parts — try traced first, fall back to hand-drawn +// Load all SVG parts — 2D indexed: parts[type][band][col] +// Traced: 100 per type (10 bands × 10 cols), named prefix-{band}-{col}.svg +// Hand-drawn: 10 per type (band 0 only), named prefix-{col}.svg const parts = {}; let partsSource = 'traced'; async function loadParts(source) { @@ -139,22 +141,36 @@

Parts Library

for (const type of PART_TYPES) { parts[type] = []; const singular = PART_SINGULAR[type]; - for (let i = 0; i < 10; i++) { - try { - const resp = await fetch(`${dir}/${type}/${singular}-${i}.svg`); - if (!resp.ok) throw new Error('not found'); - const text = await resp.text(); - parts[type].push(text); - } catch(e) { - // Fall back to other source + if (partsSource === 'traced') { + // 2D: parts[type][band][col] + for (let band = 0; band < 10; band++) { + parts[type][band] = []; + for (let col = 0; col < 10; col++) { + try { + const resp = await fetch(`${dir}/${type}/${singular}-${band}-${col}.svg`); + if (!resp.ok) throw new Error('not found'); + parts[type][band].push(await resp.text()); + } catch(e) { + parts[type][band].push(''); + } + } + } + } else { + // Hand-drawn: 1D, only band 0 shapes + parts[type][0] = []; + for (let i = 0; i < 10; i++) { try { - const fallbackDir = dir === 'parts-traced' ? 'parts' : 'parts-traced'; - const resp2 = await fetch(`${fallbackDir}/${type}/${singular}-${i}.svg`); - parts[type].push(await resp2.text()); - } catch(e2) { - parts[type].push(''); + const resp = await fetch(`${dir}/${type}/${singular}-${i}.svg`); + if (!resp.ok) throw new Error('not found'); + parts[type][0].push(await resp.text()); + } catch(e) { + parts[type][0].push(''); } } + // Fill remaining bands with band 0 (fallback) + for (let band = 1; band < 10; band++) { + parts[type][band] = parts[type][0]; + } } } } @@ -221,16 +237,14 @@

Parts Library

const emAccent = COLORS[emColor] || COLORS[9]; const accAccent = COLORS[accColor] || COLORS[8]; - // Body and head use main color - const head = recolor(extractContent(parts.heads[headStyle] || ''), main, emAccent); - const body = recolor(extractContent(parts.bodies[bodyStyle] || ''), main, emAccent); - // Dark outline derived from main body color — shared across ALL parts + // 2D lookup: parts[type][colorBand][styleIndex] + // Body/head use bhColor band, eyes/mouth use emColor band, acc uses accColor band + const head = recolor(extractContent((parts.heads[bhColor] || [])[headStyle] || ''), main, emAccent); + const body = recolor(extractContent((parts.bodies[bhColor] || [])[bodyStyle] || ''), main, emAccent); const darkOutline = `hsl(${main.h}, ${Math.max(main.s - 40, 10)}%, ${Math.max(main.l - 30, 8)}%)`; - // Eyes/mouth use emColor as fill, dark outline for stroke - const eyes = addStroke(recolor(extractContent(parts.eyes[eyeStyle] || ''), emAccent, main), darkOutline); - const mouth = addStroke(recolor(extractContent(parts.mouths[mouthStyle] || ''), emAccent, main), darkOutline); - // Accessories use accColor as fill, dark outline for stroke - const acc = addStroke(recolor(extractContent(parts.accessories[accStyle] || ''), accAccent, main), darkOutline); + const eyes = addStroke(recolor(extractContent((parts.eyes[emColor] || [])[eyeStyle] || ''), emAccent, main), darkOutline); + const mouth = addStroke(recolor(extractContent((parts.mouths[emColor] || [])[mouthStyle] || ''), emAccent, main), darkOutline); + const acc = addStroke(recolor(extractContent((parts.accessories[accColor] || [])[accStyle] || ''), accAccent, main), darkOutline); // Traced SVGs use 600x600 coords, hand-drawn use 300x300 const vb = partsSource === 'traced' ? '0 0 600 600' : '0 0 300 300'; @@ -292,23 +306,33 @@

Parts Library

).join(''); } -// Parts library +// Parts library — show current band (default band 0) +let libraryBand = 0; function renderPartsLibrary() { const container = document.getElementById('partsLibrary'); - const mainHue = 200; - const accentHue = 45; + container.innerHTML = ''; + const pvb = partsSource === 'traced' ? '0 0 600 600' : '0 0 300 300'; + + // Band selector + let bandHtml = '
'; + for (let b = 0; b < 10; b++) { + const c = COLORS[b]; + const sel = b === libraryBand ? 'border:2px solid white' : 'border:2px solid transparent'; + bandHtml += ` `; + } + bandHtml += '
'; + container.innerHTML += bandHtml; for (const type of PART_TYPES) { const singular = PART_SINGULAR[type]; - let html = `

${type}

`; + let html = `

${type} (band ${libraryBand})

`; for (let i = 0; i < 10; i++) { - const content = extractContent(parts[type][i] || ''); - const pvb = partsSource === 'traced' ? '0 0 600 600' : '0 0 300 300'; + const content = extractContent((parts[type][libraryBand] || [])[i] || ''); html += `
${content} -
${singular}-${i}
+
${singular}-${libraryBand}-${i}
${content} @@ -320,6 +344,7 @@

Parts Library

container.innerHTML += html; } } +window.setLibraryBand = function(b) { libraryBand = b; renderPartsLibrary(); }; // Init await loadParts(); From acf9e4fc02112b9d4a65d9cc9e962f4e503020e8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:21 -0700 Subject: [PATCH 1154/2079] feat: 2D part indexing (svg-render.js) --- src/svg-render.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/svg-render.js b/src/svg-render.js index 0c046601..7f4ea088 100644 --- a/src/svg-render.js +++ b/src/svg-render.js @@ -104,17 +104,20 @@ function extractContent(svgString) { * @returns {string} Complete SVG string */ export function composeSvg(parts, buckets) { - const [,,,, , bhColor, emColor] = buckets; + const [bodyStyle, headStyle, eyeStyle, mouthStyle, accStyle, bhColor, emColor, accColor] = buckets; const main = COLORS[bhColor] || COLORS[0]; const accent = COLORS[emColor] || COLORS[9]; + const accAccent = COLORS[accColor] || COLORS[8]; const styles = generateStyles(main.h, accent.h); - const headContent = recolor(extractContent(parts.head), main, accent); - const bodyContent = recolor(extractContent(parts.body), main, accent); - const eyeContent = recolor(extractContent(parts.eyes), main, accent); - const mouthContent = recolor(extractContent(parts.mouth), main, accent); - const accContent = recolor(extractContent(parts.accessory), main, accent); + // 2D part lookup: parts[type][band][col] + // Body/head use bhColor band, eyes/mouth use emColor band, acc uses accColor band + const headContent = recolor(extractContent((parts.head[bhColor] || [])[headStyle] || ''), main, accent); + const bodyContent = recolor(extractContent((parts.body[bhColor] || [])[bodyStyle] || ''), main, accent); + const eyeContent = recolor(extractContent((parts.eyes[emColor] || [])[eyeStyle] || ''), accent, main); + const mouthContent = recolor(extractContent((parts.mouth[emColor] || [])[mouthStyle] || ''), accent, main); + const accContent = recolor(extractContent((parts.accessory[accColor] || [])[accStyle] || ''), accAccent, main); return ` ${styles} From a53bff90411f2665d9c4614b6a9c5d930c53f95d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 11:42:21 -0700 Subject: [PATCH 1155/2079] feat: 2D part indexing (svg-render.test.js) --- src/svg-render.test.js | 144 ++++++++++++++++++++++++----------------- 1 file changed, 83 insertions(+), 61 deletions(-) diff --git a/src/svg-render.test.js b/src/svg-render.test.js index 59cac56b..8fa0a8e7 100644 --- a/src/svg-render.test.js +++ b/src/svg-render.test.js @@ -1,5 +1,5 @@ import { describe, it, expect } from 'vitest'; -import { composeSvg, COLORS, colorScheme, generateStyles, extractContent } from './svg-render.js'; +import { composeSvg, recolor, COLORS, colorScheme, generateStyles, extractContent } from './svg-render.js'; import fs from 'fs'; import path from 'path'; @@ -35,7 +35,6 @@ describe('colorScheme', () => { const scheme = colorScheme(200); expect(scheme.fill).toMatch(/^hsl\(/); expect(scheme.outline).toMatch(/^hsl\(/); - expect(scheme.highlight).toMatch(/^hsl\(/); }); it('should use the provided hue', () => { @@ -62,9 +61,6 @@ describe('generateStyles', () => { expect(styles).toContain('.outline'); expect(styles).toContain('.fill'); expect(styles).toContain('.highlight'); - expect(styles).toContain('.shadow'); - expect(styles).toContain('.neck'); - expect(styles).toContain('.rivet'); expect(styles).toContain('.accent'); }); @@ -90,50 +86,60 @@ describe('extractContent', () => { const content = extractContent(''); expect(content).toBe(''); }); +}); - it('should handle multiline content', () => { - const svg = '\n \n \n'; - const content = extractContent(svg); - expect(content).toContain(' { + it('should replace placeholder colors with derived colors', () => { + const content = ''; + const result = recolor(content, COLORS[0], COLORS[5]); + expect(result).not.toContain('#1a1a1a'); + expect(result).not.toContain('#ffffff'); + expect(result).toContain('hsl('); }); }); describe('composeSvg', () => { - // Load real SVG parts for integration tests - const partsDir = path.join(import.meta.dirname, '..', 'svg', 'parts'); - - function loadPart(type, singular, index) { - try { - return fs.readFileSync(path.join(partsDir, type, singular + '-' + index + '.svg'), 'utf8'); - } catch { - return ''; - } - } - - function loadPartsForBuckets(buckets) { - const [bodyStyle, headStyle, eyeStyle, mouthStyle, accStyle] = buckets; - return { - head: loadPart('heads', 'head', headStyle), - body: loadPart('bodies', 'body', bodyStyle), - eyes: loadPart('eyes', 'eye', eyeStyle), - mouth: loadPart('mouths', 'mouth', mouthStyle), - accessory: loadPart('accessories', 'accessory', accStyle), + const tracedDir = path.join(import.meta.dirname, '..', 'svg', 'parts-traced'); + + // 2D part loader: parts[type][band][col] + function load2DParts() { + const types = { + head: 'heads', + body: 'bodies', + eyes: 'eyes', + mouth: 'mouths', + accessory: 'accessories', }; + const result = {}; + for (const [key, dir] of Object.entries(types)) { + result[key] = []; + const singular = key === 'body' ? 'body' : key === 'accessory' ? 'accessory' : key === 'eyes' ? 'eye' : key === 'mouth' ? 'mouth' : 'head'; + for (let band = 0; band < 10; band++) { + result[key][band] = []; + for (let col = 0; col < 10; col++) { + const filePath = path.join(tracedDir, dir, `${singular}-${band}-${col}.svg`); + try { + result[key][band].push(fs.readFileSync(filePath, 'utf8')); + } catch { + result[key][band].push(''); + } + } + } + } + return result; } it('should return a valid SVG string', () => { const buckets = [0, 0, 0, 0, 0, 0, 0, 0]; - const parts = loadPartsForBuckets(buckets); + const parts = load2DParts(); const svg = composeSvg(parts, buckets); expect(svg).toContain(''); - expect(svg).toMatch(/viewBox="0 0 (300|600) (300|600)"/); }); - it('should include style block with colors', () => { + it('should include style block with correct hue', () => { const buckets = [0, 0, 0, 0, 0, 7, 0, 0]; // bhColor=7 → Red (hsl 358) - const parts = loadPartsForBuckets(buckets); + const parts = load2DParts(); const svg = composeSvg(parts, buckets); expect(svg).toContain('

Parts Library

const PART_TYPES = ['heads', 'bodies', 'eyes', 'mouths', 'accessories']; const PART_SINGULAR = { heads: 'head', bodies: 'body', eyes: 'eye', mouths: 'mouth', accessories: 'accessory' }; -// Load all SVG parts — 2D indexed: parts[type][band][col] -// Traced: 100 per type (10 bands × 10 cols), named prefix-{band}-{col}.svg -// Hand-drawn: 10 per type (band 0 only), named prefix-{col}.svg +// Load all SVG parts — 10 per type, single index const parts = {}; let partsSource = 'traced'; async function loadParts(source) { @@ -141,36 +139,20 @@

Parts Library

for (const type of PART_TYPES) { parts[type] = []; const singular = PART_SINGULAR[type]; - if (partsSource === 'traced') { - // 2D: parts[type][band][col] - for (let band = 0; band < 10; band++) { - parts[type][band] = []; - for (let col = 0; col < 10; col++) { - try { - const resp = await fetch(`${dir}/${type}/${singular}-${band}-${col}.svg`); - if (!resp.ok) throw new Error('not found'); - parts[type][band].push(await resp.text()); - } catch(e) { - parts[type][band].push(''); - } - } - } - } else { - // Hand-drawn: 1D, only band 0 shapes - parts[type][0] = []; - for (let i = 0; i < 10; i++) { + for (let i = 0; i < 10; i++) { + try { + const resp = await fetch(`${dir}/${type}/${singular}-${i}.svg`); + if (!resp.ok) throw new Error('not found'); + parts[type].push(await resp.text()); + } catch(e) { try { - const resp = await fetch(`${dir}/${type}/${singular}-${i}.svg`); - if (!resp.ok) throw new Error('not found'); - parts[type][0].push(await resp.text()); - } catch(e) { - parts[type][0].push(''); + const fallbackDir = dir === 'parts-traced' ? 'parts' : 'parts-traced'; + const resp2 = await fetch(`${fallbackDir}/${type}/${singular}-${i}.svg`); + parts[type].push(await resp2.text()); + } catch(e2) { + parts[type].push(''); } } - // Fill remaining bands with band 0 (fallback) - for (let band = 1; band < 10; band++) { - parts[type][band] = parts[type][0]; - } } } } @@ -237,14 +219,13 @@

Parts Library

const emAccent = COLORS[emColor] || COLORS[9]; const accAccent = COLORS[accColor] || COLORS[8]; - // 2D lookup: parts[type][colorBand][styleIndex] - // Body/head use bhColor band, eyes/mouth use emColor band, acc uses accColor band - const head = recolor(extractContent((parts.heads[bhColor] || [])[headStyle] || ''), main, emAccent); - const body = recolor(extractContent((parts.bodies[bhColor] || [])[bodyStyle] || ''), main, emAccent); + // Shape selected by style index, color applied by recoloring + const head = recolor(extractContent(parts.heads[headStyle] || ''), main, emAccent); + const body = recolor(extractContent(parts.bodies[bodyStyle] || ''), main, emAccent); const darkOutline = `hsl(${main.h}, ${Math.max(main.s - 40, 10)}%, ${Math.max(main.l - 30, 8)}%)`; - const eyes = addStroke(recolor(extractContent((parts.eyes[emColor] || [])[eyeStyle] || ''), emAccent, main), darkOutline); - const mouth = addStroke(recolor(extractContent((parts.mouths[emColor] || [])[mouthStyle] || ''), emAccent, main), darkOutline); - const acc = addStroke(recolor(extractContent((parts.accessories[accColor] || [])[accStyle] || ''), accAccent, main), darkOutline); + const eyes = addStroke(recolor(extractContent(parts.eyes[eyeStyle] || ''), emAccent, main), darkOutline); + const mouth = addStroke(recolor(extractContent(parts.mouths[mouthStyle] || ''), emAccent, main), darkOutline); + const acc = addStroke(recolor(extractContent(parts.accessories[accStyle] || ''), accAccent, main), darkOutline); // Traced SVGs use 600x600 coords, hand-drawn use 300x300 const vb = partsSource === 'traced' ? '0 0 600 600' : '0 0 300 300'; @@ -306,33 +287,21 @@

Parts Library

).join(''); } -// Parts library — show current band (default band 0) -let libraryBand = 0; function renderPartsLibrary() { const container = document.getElementById('partsLibrary'); container.innerHTML = ''; const pvb = partsSource === 'traced' ? '0 0 600 600' : '0 0 300 300'; - // Band selector - let bandHtml = '
'; - for (let b = 0; b < 10; b++) { - const c = COLORS[b]; - const sel = b === libraryBand ? 'border:2px solid white' : 'border:2px solid transparent'; - bandHtml += ` `; - } - bandHtml += '
'; - container.innerHTML += bandHtml; - for (const type of PART_TYPES) { const singular = PART_SINGULAR[type]; - let html = `

${type} (band ${libraryBand})

`; + let html = `

${type}

`; for (let i = 0; i < 10; i++) { - const content = extractContent((parts[type][libraryBand] || [])[i] || ''); + const content = extractContent(parts[type][i] || ''); html += `
${content} -
${singular}-${libraryBand}-${i}
+
${singular}-${i}
${content} @@ -344,7 +313,6 @@

Parts Library

container.innerHTML += html; } } -window.setLibraryBand = function(b) { libraryBand = b; renderPartsLibrary(); }; // Init await loadParts(); From 223cc7d318076e539749dd3e514b57b7775d8245 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:14:44 -0700 Subject: [PATCH 1707/2079] feat: simplify to single band per type --- src/svg-render.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/svg-render.js b/src/svg-render.js index 7f4ea088..7f4e5381 100644 --- a/src/svg-render.js +++ b/src/svg-render.js @@ -111,13 +111,12 @@ export function composeSvg(parts, buckets) { const accAccent = COLORS[accColor] || COLORS[8]; const styles = generateStyles(main.h, accent.h); - // 2D part lookup: parts[type][band][col] - // Body/head use bhColor band, eyes/mouth use emColor band, acc uses accColor band - const headContent = recolor(extractContent((parts.head[bhColor] || [])[headStyle] || ''), main, accent); - const bodyContent = recolor(extractContent((parts.body[bhColor] || [])[bodyStyle] || ''), main, accent); - const eyeContent = recolor(extractContent((parts.eyes[emColor] || [])[eyeStyle] || ''), accent, main); - const mouthContent = recolor(extractContent((parts.mouth[emColor] || [])[mouthStyle] || ''), accent, main); - const accContent = recolor(extractContent((parts.accessory[accColor] || [])[accStyle] || ''), accAccent, main); + // Shape selected by style index, color applied by recoloring + const headContent = recolor(extractContent(parts.head[headStyle] || ''), main, accent); + const bodyContent = recolor(extractContent(parts.body[bodyStyle] || ''), main, accent); + const eyeContent = recolor(extractContent(parts.eyes[eyeStyle] || ''), accent, main); + const mouthContent = recolor(extractContent(parts.mouth[mouthStyle] || ''), accent, main); + const accContent = recolor(extractContent(parts.accessory[accStyle] || ''), accAccent, main); return ` ${styles} From 449af45550b0fdf3599f725954dba43d30892c12 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:14:44 -0700 Subject: [PATCH 1708/2079] feat: simplify to single band per type --- src/svg-render.test.js | 80 +++++++++++++++++------------------------- 1 file changed, 32 insertions(+), 48 deletions(-) diff --git a/src/svg-render.test.js b/src/svg-render.test.js index 8fa0a8e7..e7264dac 100644 --- a/src/svg-render.test.js +++ b/src/svg-render.test.js @@ -100,29 +100,19 @@ describe('recolor', () => { describe('composeSvg', () => { const tracedDir = path.join(import.meta.dirname, '..', 'svg', 'parts-traced'); + const prefixes = { head: 'head', body: 'body', eyes: 'eye', mouth: 'mouth', accessory: 'accessory' }; + const dirs = { head: 'heads', body: 'bodies', eyes: 'eyes', mouth: 'mouths', accessory: 'accessories' }; - // 2D part loader: parts[type][band][col] - function load2DParts() { - const types = { - head: 'heads', - body: 'bodies', - eyes: 'eyes', - mouth: 'mouths', - accessory: 'accessories', - }; + function loadParts() { const result = {}; - for (const [key, dir] of Object.entries(types)) { + for (const [key, dir] of Object.entries(dirs)) { result[key] = []; - const singular = key === 'body' ? 'body' : key === 'accessory' ? 'accessory' : key === 'eyes' ? 'eye' : key === 'mouth' ? 'mouth' : 'head'; - for (let band = 0; band < 10; band++) { - result[key][band] = []; - for (let col = 0; col < 10; col++) { - const filePath = path.join(tracedDir, dir, `${singular}-${band}-${col}.svg`); - try { - result[key][band].push(fs.readFileSync(filePath, 'utf8')); - } catch { - result[key][band].push(''); - } + for (let i = 0; i < 10; i++) { + const filePath = path.join(tracedDir, dir, `${prefixes[key]}-${i}.svg`); + try { + result[key].push(fs.readFileSync(filePath, 'utf8')); + } catch { + result[key].push(''); } } } @@ -130,25 +120,22 @@ describe('composeSvg', () => { } it('should return a valid SVG string', () => { - const buckets = [0, 0, 0, 0, 0, 0, 0, 0]; - const parts = load2DParts(); - const svg = composeSvg(parts, buckets); + const parts = loadParts(); + const svg = composeSvg(parts, [0, 0, 0, 0, 0, 0, 0, 0]); expect(svg).toContain(''); }); it('should include style block with correct hue', () => { - const buckets = [0, 0, 0, 0, 0, 7, 0, 0]; // bhColor=7 → Red (hsl 358) - const parts = load2DParts(); - const svg = composeSvg(parts, buckets); + const parts = loadParts(); + const svg = composeSvg(parts, [0, 0, 0, 0, 0, 7, 0, 0]); expect(svg).toContain('

Parts Library

const gMatch = svgString.match(/]*>([\s\S]*?)<\/g>/); if (gMatch) return gMatch[1]; // Traced SVGs: strip and , return inner paths - return svgString.replace(/]*>/, '').replace(/<\/svg>/, ''); + // Detect viewBox to know coordinate space + const vbMatch = svgString.match(/viewBox="0 0 (\d+) (\d+)"/); + const vbSize = vbMatch ? parseInt(vbMatch[1]) : 600; + let content = svgString.replace(/]*>/, '').replace(/<\/svg>/, ''); + // If 4x traced (1200x1200), wrap in a scale group to normalize to 600x600 + if (vbSize === 1200) { + content = `${content}`; + } + return content; } // Replace placeholder colors in SVG content with hash-derived colors From 63c6ac065f03d3241633a773a00dcc5b35c21034 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:46 -0700 Subject: [PATCH 1770/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/eyes/eye-0.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-0.svg b/svg/parts-traced/eyes/eye-0.svg index a171c4d0..6cc61107 100644 --- a/svg/parts-traced/eyes/eye-0.svg +++ b/svg/parts-traced/eyes/eye-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From d0d7e80cfe3a807591fa8e009ae3f40d28ed0f63 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:46 -0700 Subject: [PATCH 1771/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/mouths/mouth-0.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-0.svg b/svg/parts-traced/mouths/mouth-0.svg index 6d1d6eb8..6cd41bb7 100644 --- a/svg/parts-traced/mouths/mouth-0.svg +++ b/svg/parts-traced/mouths/mouth-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From ae1d3b97476a8658a5c38c10e70d9dfb65c023bd Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:47 -0700 Subject: [PATCH 1772/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/accessories/accessory-0.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-0.svg b/svg/parts-traced/accessories/accessory-0.svg index a462b431..2d3e4a03 100644 --- a/svg/parts-traced/accessories/accessory-0.svg +++ b/svg/parts-traced/accessories/accessory-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From ef16069cacc60eab372e492e968057a6198cd53c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:47 -0700 Subject: [PATCH 1773/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/eyes/eye-1.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-1.svg b/svg/parts-traced/eyes/eye-1.svg index 2f50cadf..bae95b97 100644 --- a/svg/parts-traced/eyes/eye-1.svg +++ b/svg/parts-traced/eyes/eye-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From f1d578890bfc257f2cc059a45d2996fe5c4ed845 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:47 -0700 Subject: [PATCH 1774/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/mouths/mouth-1.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-1.svg b/svg/parts-traced/mouths/mouth-1.svg index 18806a64..3e0c799f 100644 --- a/svg/parts-traced/mouths/mouth-1.svg +++ b/svg/parts-traced/mouths/mouth-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 06759981fabfc0d613c1fbf5c125e8e70653fb97 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:48 -0700 Subject: [PATCH 1775/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/accessories/accessory-1.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-1.svg b/svg/parts-traced/accessories/accessory-1.svg index b1d0a608..28f7e147 100644 --- a/svg/parts-traced/accessories/accessory-1.svg +++ b/svg/parts-traced/accessories/accessory-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From bb29d6dcca91130de5615504e8baf0582aad76d5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:48 -0700 Subject: [PATCH 1776/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/eyes/eye-2.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-2.svg b/svg/parts-traced/eyes/eye-2.svg index d62701a4..698330de 100644 --- a/svg/parts-traced/eyes/eye-2.svg +++ b/svg/parts-traced/eyes/eye-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 98d757188a1e0bbaaf4f4967609318588b8840d3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:49 -0700 Subject: [PATCH 1777/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/mouths/mouth-2.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-2.svg b/svg/parts-traced/mouths/mouth-2.svg index cd01c130..29fbd2d2 100644 --- a/svg/parts-traced/mouths/mouth-2.svg +++ b/svg/parts-traced/mouths/mouth-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 9f6c472a4f04a0c4930ae7a2eccb03c4f9e46298 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:49 -0700 Subject: [PATCH 1778/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/accessories/accessory-2.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-2.svg b/svg/parts-traced/accessories/accessory-2.svg index 2b233890..2de14e16 100644 --- a/svg/parts-traced/accessories/accessory-2.svg +++ b/svg/parts-traced/accessories/accessory-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From a9d91964ea6a1886ddfa052bd70adb3f2e81f807 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:50 -0700 Subject: [PATCH 1779/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/eyes/eye-3.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-3.svg b/svg/parts-traced/eyes/eye-3.svg index 8b40a13b..46a9d434 100644 --- a/svg/parts-traced/eyes/eye-3.svg +++ b/svg/parts-traced/eyes/eye-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 57be761db806b3ef14c5a15d3447f7a3551db487 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:50 -0700 Subject: [PATCH 1780/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/mouths/mouth-3.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-3.svg b/svg/parts-traced/mouths/mouth-3.svg index 4e7f7e4e..5baac68e 100644 --- a/svg/parts-traced/mouths/mouth-3.svg +++ b/svg/parts-traced/mouths/mouth-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 6658d8fb4dfe0d1212ba8d6e5ca8bcf3c1b42b08 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:50 -0700 Subject: [PATCH 1781/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/accessories/accessory-3.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-3.svg b/svg/parts-traced/accessories/accessory-3.svg index 24dfa351..736875e6 100644 --- a/svg/parts-traced/accessories/accessory-3.svg +++ b/svg/parts-traced/accessories/accessory-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 3a7adee2f105d822d5fa7366fc985a07af872458 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:51 -0700 Subject: [PATCH 1782/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/eyes/eye-4.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-4.svg b/svg/parts-traced/eyes/eye-4.svg index f8053b96..75a30677 100644 --- a/svg/parts-traced/eyes/eye-4.svg +++ b/svg/parts-traced/eyes/eye-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 801d294e67bb30fc25287e86e011c3ad63140707 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:51 -0700 Subject: [PATCH 1783/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/mouths/mouth-4.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-4.svg b/svg/parts-traced/mouths/mouth-4.svg index bbfd531c..32984097 100644 --- a/svg/parts-traced/mouths/mouth-4.svg +++ b/svg/parts-traced/mouths/mouth-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From e75845c05b4e52469fc8e80f9dfe843475c97d61 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:52 -0700 Subject: [PATCH 1784/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/accessories/accessory-4.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-4.svg b/svg/parts-traced/accessories/accessory-4.svg index 09d624fe..dcd2d946 100644 --- a/svg/parts-traced/accessories/accessory-4.svg +++ b/svg/parts-traced/accessories/accessory-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 5648243ff6d56a20b3b120cbc5ae0a71be8af214 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:52 -0700 Subject: [PATCH 1785/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/eyes/eye-5.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-5.svg b/svg/parts-traced/eyes/eye-5.svg index cce1eb43..52a43f7d 100644 --- a/svg/parts-traced/eyes/eye-5.svg +++ b/svg/parts-traced/eyes/eye-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From e067dd0a845bbcc267896d32c310eba18d3f8ebd Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:53 -0700 Subject: [PATCH 1786/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/mouths/mouth-5.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-5.svg b/svg/parts-traced/mouths/mouth-5.svg index ed77b53a..1d337211 100644 --- a/svg/parts-traced/mouths/mouth-5.svg +++ b/svg/parts-traced/mouths/mouth-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 42b68577db29c5674399e796f970017aecf994df Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:53 -0700 Subject: [PATCH 1787/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/accessories/accessory-5.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-5.svg b/svg/parts-traced/accessories/accessory-5.svg index 3ddc79ff..ba484083 100644 --- a/svg/parts-traced/accessories/accessory-5.svg +++ b/svg/parts-traced/accessories/accessory-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From ba143503219b56bc167aad1104a9d4e26849ce7a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:53 -0700 Subject: [PATCH 1788/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/eyes/eye-6.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-6.svg b/svg/parts-traced/eyes/eye-6.svg index 54ee8de0..cf076180 100644 --- a/svg/parts-traced/eyes/eye-6.svg +++ b/svg/parts-traced/eyes/eye-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From c1d1065224744e786f86f7da73fe4f6895136351 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:54 -0700 Subject: [PATCH 1789/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/mouths/mouth-6.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-6.svg b/svg/parts-traced/mouths/mouth-6.svg index 9293177d..62fe8547 100644 --- a/svg/parts-traced/mouths/mouth-6.svg +++ b/svg/parts-traced/mouths/mouth-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From ef39d250336c9aa860a6d7de98d36af92b9676a1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:54 -0700 Subject: [PATCH 1790/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/accessories/accessory-6.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-6.svg b/svg/parts-traced/accessories/accessory-6.svg index f1bd5498..56ec9edf 100644 --- a/svg/parts-traced/accessories/accessory-6.svg +++ b/svg/parts-traced/accessories/accessory-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 9dbae223e7cc12a16dcb0982528897c87370f523 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:55 -0700 Subject: [PATCH 1791/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/eyes/eye-7.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-7.svg b/svg/parts-traced/eyes/eye-7.svg index d67623e5..30759ce6 100644 --- a/svg/parts-traced/eyes/eye-7.svg +++ b/svg/parts-traced/eyes/eye-7.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From b036448f2be19c07e9a1a1cbed699b1d6d987998 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:55 -0700 Subject: [PATCH 1792/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/mouths/mouth-7.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-7.svg b/svg/parts-traced/mouths/mouth-7.svg index e9701603..c8e18284 100644 --- a/svg/parts-traced/mouths/mouth-7.svg +++ b/svg/parts-traced/mouths/mouth-7.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 07030c765b10667a36105891f870def0bfbcc52b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:56 -0700 Subject: [PATCH 1793/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/accessories/accessory-7.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-7.svg b/svg/parts-traced/accessories/accessory-7.svg index e3e319b0..17dbf9e9 100644 --- a/svg/parts-traced/accessories/accessory-7.svg +++ b/svg/parts-traced/accessories/accessory-7.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 4342518fd4f4b87531282bc92eb4c93f1ea534bf Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:56 -0700 Subject: [PATCH 1794/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/eyes/eye-8.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-8.svg b/svg/parts-traced/eyes/eye-8.svg index 4b768dd1..22f0bd94 100644 --- a/svg/parts-traced/eyes/eye-8.svg +++ b/svg/parts-traced/eyes/eye-8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From df0191c93d5045f0a7d8dc30b23282afbc8adfe6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:56 -0700 Subject: [PATCH 1795/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/mouths/mouth-8.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-8.svg b/svg/parts-traced/mouths/mouth-8.svg index 1f9d5e78..7a7793ae 100644 --- a/svg/parts-traced/mouths/mouth-8.svg +++ b/svg/parts-traced/mouths/mouth-8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 7fc5bfa09d828bf2d807d332617cc331e576ebf5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:57 -0700 Subject: [PATCH 1796/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/accessories/accessory-8.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-8.svg b/svg/parts-traced/accessories/accessory-8.svg index 1127f5fd..b176ba6e 100644 --- a/svg/parts-traced/accessories/accessory-8.svg +++ b/svg/parts-traced/accessories/accessory-8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 196f203f6825b08a5e5fc7da0319a6588252dbca Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:57 -0700 Subject: [PATCH 1797/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/eyes/eye-9.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-9.svg b/svg/parts-traced/eyes/eye-9.svg index a550811a..48afb23c 100644 --- a/svg/parts-traced/eyes/eye-9.svg +++ b/svg/parts-traced/eyes/eye-9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From e9c85b03045597458f9d07ddc41e2cc8b5f6710b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:58 -0700 Subject: [PATCH 1798/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/mouths/mouth-9.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-9.svg b/svg/parts-traced/mouths/mouth-9.svg index 2129513d..91360b7b 100644 --- a/svg/parts-traced/mouths/mouth-9.svg +++ b/svg/parts-traced/mouths/mouth-9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 198d4c12e6a88a86e5663e80de2f00359e504fb1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:58 -0700 Subject: [PATCH 1799/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/parts-traced/accessories/accessory-9.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-9.svg b/svg/parts-traced/accessories/accessory-9.svg index 334ca867..6c6c987f 100644 --- a/svg/parts-traced/accessories/accessory-9.svg +++ b/svg/parts-traced/accessories/accessory-9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 94177472ab41a9f41fb752df824df0942f18e6d0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:36:59 -0700 Subject: [PATCH 1800/2079] feat: 48-color detail traces + hue-rotate recoloring --- svg/preview.html | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/svg/preview.html b/svg/preview.html index 7a289e53..e9d99311 100644 --- a/svg/preview.html +++ b/svg/preview.html @@ -181,15 +181,7 @@

Parts Library

const gMatch = svgString.match(/]*>([\s\S]*?)<\/g>/); if (gMatch) return gMatch[1]; // Traced SVGs: strip and , return inner paths - // Detect viewBox to know coordinate space - const vbMatch = svgString.match(/viewBox="0 0 (\d+) (\d+)"/); - const vbSize = vbMatch ? parseInt(vbMatch[1]) : 600; - let content = svgString.replace(/]*>/, '').replace(/<\/svg>/, ''); - // If 4x traced (1200x1200), wrap in a scale group to normalize to 600x600 - if (vbSize === 1200) { - content = `${content}`; - } - return content; + return svgString.replace(/]*>/, '').replace(/<\/svg>/, ''); } // Replace placeholder colors in SVG content with hash-derived colors @@ -230,10 +222,15 @@

Parts Library

// Shape selected by style index, color applied by recoloring const head = recolor(extractContent(parts.heads[headStyle] || ''), main, emAccent); const body = recolor(extractContent(parts.bodies[bodyStyle] || ''), main, emAccent); - const darkOutline = `hsl(${main.h}, ${Math.max(main.s - 40, 10)}%, ${Math.max(main.l - 30, 8)}%)`; - const eyes = addStroke(recolor(extractContent(parts.eyes[eyeStyle] || ''), emAccent, main), darkOutline); - const mouth = addStroke(recolor(extractContent(parts.mouths[mouthStyle] || ''), emAccent, main), darkOutline); - const acc = addStroke(recolor(extractContent(parts.accessories[accStyle] || ''), accAccent, main), darkOutline); + + // Detail parts (eyes, mouths, acc) use hue rotation to preserve internal detail + // Source band is blue (h≈198), so we rotate by (targetHue - 198) + const srcHue = 198; // band 0 blue + const emRotate = emAccent.h - srcHue; + const accRotate = accAccent.h - srcHue; + const eyes = extractContent(parts.eyes[eyeStyle] || ''); + const mouth = extractContent(parts.mouths[mouthStyle] || ''); + const acc = extractContent(parts.accessories[accStyle] || ''); // Traced SVGs use 600x600 coords, hand-drawn use 300x300 const vb = partsSource === 'traced' ? '0 0 600 600' : '0 0 300 300'; @@ -241,12 +238,16 @@

Parts Library

const partT = partsSource === 'traced' ? '' : 'translate(22, -10) scale(0.85)'; return ` + + + + ${body} ${head} - ${mouth} - ${eyes} - ${acc} + ${mouth} + ${eyes} + ${acc} `; } From e16b2ea5204055ad5ff7e45a5936632d23ec98b8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:51 -0700 Subject: [PATCH 1801/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/heads/head-0.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-0.svg b/svg/parts-traced/heads/head-0.svg index 691a15f7..663468f7 100644 --- a/svg/parts-traced/heads/head-0.svg +++ b/svg/parts-traced/heads/head-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From c52653bf61e0965b48e7afdba1ed0d6946319a48 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:51 -0700 Subject: [PATCH 1802/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/heads/head-1.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-1.svg b/svg/parts-traced/heads/head-1.svg index 1ef77c77..e6ac2d49 100644 --- a/svg/parts-traced/heads/head-1.svg +++ b/svg/parts-traced/heads/head-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From a2cf2ba687f0f17c440a6380e98aaf7186a22d29 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:51 -0700 Subject: [PATCH 1803/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/heads/head-2.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-2.svg b/svg/parts-traced/heads/head-2.svg index 08acff31..4015eaf5 100644 --- a/svg/parts-traced/heads/head-2.svg +++ b/svg/parts-traced/heads/head-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 0b8534b6403369a6c8459cc05b9f1ca198e30f59 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:52 -0700 Subject: [PATCH 1804/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/heads/head-3.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-3.svg b/svg/parts-traced/heads/head-3.svg index ce1b8d28..accc4d66 100644 --- a/svg/parts-traced/heads/head-3.svg +++ b/svg/parts-traced/heads/head-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 1478d5676fbda1ce087311ff91569f64ad568735 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:52 -0700 Subject: [PATCH 1805/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/heads/head-4.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-4.svg b/svg/parts-traced/heads/head-4.svg index 6f082622..ece5c31e 100644 --- a/svg/parts-traced/heads/head-4.svg +++ b/svg/parts-traced/heads/head-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 3b3248eb215f2b056641866848cf61dde1c305aa Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:53 -0700 Subject: [PATCH 1806/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/heads/head-5.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-5.svg b/svg/parts-traced/heads/head-5.svg index 529b4555..98109c08 100644 --- a/svg/parts-traced/heads/head-5.svg +++ b/svg/parts-traced/heads/head-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 80e8d4d3ffdb1c1204579acc90f4263bf17138b7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:53 -0700 Subject: [PATCH 1807/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/heads/head-6.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-6.svg b/svg/parts-traced/heads/head-6.svg index 8dd2e38c..f05164ad 100644 --- a/svg/parts-traced/heads/head-6.svg +++ b/svg/parts-traced/heads/head-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From df01970f6f27f9e7498b34ce02be039f867a2067 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:54 -0700 Subject: [PATCH 1808/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/heads/head-7.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-7.svg b/svg/parts-traced/heads/head-7.svg index d56b4ba7..9b222413 100644 --- a/svg/parts-traced/heads/head-7.svg +++ b/svg/parts-traced/heads/head-7.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 07a4fe70d086bf60041738e27ea44556521c59e9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:54 -0700 Subject: [PATCH 1809/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/heads/head-8.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-8.svg b/svg/parts-traced/heads/head-8.svg index aa1e4f84..27efe1b6 100644 --- a/svg/parts-traced/heads/head-8.svg +++ b/svg/parts-traced/heads/head-8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 4bfc9ead087106b0a5f61b6492a4e366284b3fe1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:55 -0700 Subject: [PATCH 1810/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/heads/head-9.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-9.svg b/svg/parts-traced/heads/head-9.svg index f04641b1..83a95b41 100644 --- a/svg/parts-traced/heads/head-9.svg +++ b/svg/parts-traced/heads/head-9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From e2e22e3d4a71e1fc5ab4982f6463584374076c21 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:55 -0700 Subject: [PATCH 1811/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/bodies/body-0.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-0.svg b/svg/parts-traced/bodies/body-0.svg index c2686def..bf03f508 100644 --- a/svg/parts-traced/bodies/body-0.svg +++ b/svg/parts-traced/bodies/body-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From c702fd6c9d5b4a0cb6ee47f69a06c9ad1986333f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:56 -0700 Subject: [PATCH 1812/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/bodies/body-1.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-1.svg b/svg/parts-traced/bodies/body-1.svg index ca2ce411..abcf60bb 100644 --- a/svg/parts-traced/bodies/body-1.svg +++ b/svg/parts-traced/bodies/body-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 734273dcc014fd285ab6ae033485593f1a7761d0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:56 -0700 Subject: [PATCH 1813/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/bodies/body-2.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-2.svg b/svg/parts-traced/bodies/body-2.svg index 030ee53f..c95affe5 100644 --- a/svg/parts-traced/bodies/body-2.svg +++ b/svg/parts-traced/bodies/body-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From a38caf79c6315f996621c4d158e12316fd417139 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:57 -0700 Subject: [PATCH 1814/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/bodies/body-3.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-3.svg b/svg/parts-traced/bodies/body-3.svg index 7c59113d..ff113c61 100644 --- a/svg/parts-traced/bodies/body-3.svg +++ b/svg/parts-traced/bodies/body-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 1d2f8ea7cf56b389a50cfcfe21f73b6c1b3735c2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:57 -0700 Subject: [PATCH 1815/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/bodies/body-4.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-4.svg b/svg/parts-traced/bodies/body-4.svg index e4daadc7..40f2030d 100644 --- a/svg/parts-traced/bodies/body-4.svg +++ b/svg/parts-traced/bodies/body-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 0fc6167714b05cee73e6d8299c2fc842afea1638 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:58 -0700 Subject: [PATCH 1816/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/bodies/body-5.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-5.svg b/svg/parts-traced/bodies/body-5.svg index 5150c6ed..a3ed8fa0 100644 --- a/svg/parts-traced/bodies/body-5.svg +++ b/svg/parts-traced/bodies/body-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 5bddbc8de669811b0ae974ab022963f284d3ce17 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:58 -0700 Subject: [PATCH 1817/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/bodies/body-6.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-6.svg b/svg/parts-traced/bodies/body-6.svg index 926efba8..eae4d901 100644 --- a/svg/parts-traced/bodies/body-6.svg +++ b/svg/parts-traced/bodies/body-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 6c6f7d233816eff1a0f7a4bf84a473b6e9cda854 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:59 -0700 Subject: [PATCH 1818/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/bodies/body-7.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-7.svg b/svg/parts-traced/bodies/body-7.svg index ad769b1f..1d86bc16 100644 --- a/svg/parts-traced/bodies/body-7.svg +++ b/svg/parts-traced/bodies/body-7.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 7d31a8949a7f36a0d2786103913609824902348c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:59 -0700 Subject: [PATCH 1819/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/bodies/body-8.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-8.svg b/svg/parts-traced/bodies/body-8.svg index a710783e..74c7a654 100644 --- a/svg/parts-traced/bodies/body-8.svg +++ b/svg/parts-traced/bodies/body-8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 5e5cf59d684876b333ddb8b03e479c3e21d90d5c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:41:59 -0700 Subject: [PATCH 1820/2079] feat: 48-color traces + hue-rotate for all parts --- svg/parts-traced/bodies/body-9.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-9.svg b/svg/parts-traced/bodies/body-9.svg index 98cbfc60..67ef8b81 100644 --- a/svg/parts-traced/bodies/body-9.svg +++ b/svg/parts-traced/bodies/body-9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 739810d66f98f66598d12d7bbc4868c4c882f362 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:00 -0700 Subject: [PATCH 1821/2079] feat: 48-color traces + hue-rotate for all parts From a09c2635cc084d3f1445a19b3a549f0ac98c44b7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:00 -0700 Subject: [PATCH 1822/2079] feat: 48-color traces + hue-rotate for all parts From d2520cd183d782d767e82928ba5a585b71ad4eae Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:01 -0700 Subject: [PATCH 1823/2079] feat: 48-color traces + hue-rotate for all parts From 9fbcd0e3743471423da231c5a4082eaead22546b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:01 -0700 Subject: [PATCH 1824/2079] feat: 48-color traces + hue-rotate for all parts From 7ba720d0fdf5262c38a226d505ff51a49fe6e275 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:02 -0700 Subject: [PATCH 1825/2079] feat: 48-color traces + hue-rotate for all parts From 599e9c82c68b95a78a94f54acc89301b08b32755 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:02 -0700 Subject: [PATCH 1826/2079] feat: 48-color traces + hue-rotate for all parts From b006d64e579287bc4b7ac0b60aa751497e196f77 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:03 -0700 Subject: [PATCH 1827/2079] feat: 48-color traces + hue-rotate for all parts From 3c6d5916f8a902dd2ebda38d5480fdc3982aac4f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:03 -0700 Subject: [PATCH 1828/2079] feat: 48-color traces + hue-rotate for all parts From 8eb84ab4f2fb1b70cd6028beed5893eb9ae62f90 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:03 -0700 Subject: [PATCH 1829/2079] feat: 48-color traces + hue-rotate for all parts From b5393df9358798e98a090f6428d3d3fcc4e807e0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:04 -0700 Subject: [PATCH 1830/2079] feat: 48-color traces + hue-rotate for all parts From 0cdec0e8a708f2a6b9d9311fc5494b73e82ef102 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:04 -0700 Subject: [PATCH 1831/2079] feat: 48-color traces + hue-rotate for all parts From ab897f0bad87df1aaadc3dedc8da7a04954f5654 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:05 -0700 Subject: [PATCH 1832/2079] feat: 48-color traces + hue-rotate for all parts From 6ffd3f1619bfb05f5241eb9573a567859e18e7c6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:05 -0700 Subject: [PATCH 1833/2079] feat: 48-color traces + hue-rotate for all parts From bbd0ed3b2f6d167d1bf2bdf2488c06227278c35a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:05 -0700 Subject: [PATCH 1834/2079] feat: 48-color traces + hue-rotate for all parts From ca7d62ee66353c5eaeee658d8aa2853787f74c56 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:06 -0700 Subject: [PATCH 1835/2079] feat: 48-color traces + hue-rotate for all parts From 7b717b6ab449dade3484b8975470f6e8c672a442 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:06 -0700 Subject: [PATCH 1836/2079] feat: 48-color traces + hue-rotate for all parts From c063cf83b1b1db78c5c9ab1c9e5bc910f798c801 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:07 -0700 Subject: [PATCH 1837/2079] feat: 48-color traces + hue-rotate for all parts From 6feea7cb972650a0c1c2a87b1371c669d10d1576 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:07 -0700 Subject: [PATCH 1838/2079] feat: 48-color traces + hue-rotate for all parts From 41fae006bf8bdb490734842f527e55fe84faa498 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:07 -0700 Subject: [PATCH 1839/2079] feat: 48-color traces + hue-rotate for all parts From 7d66bf9ff4e4e22e951fa38a286bec3a5ace9ee3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:08 -0700 Subject: [PATCH 1840/2079] feat: 48-color traces + hue-rotate for all parts From e73d999a62ed3a2490b90ec1f450a0229da6302e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:08 -0700 Subject: [PATCH 1841/2079] feat: 48-color traces + hue-rotate for all parts From ef96c0d343c8795ac852d13b1ce33f9f62bc2a76 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:09 -0700 Subject: [PATCH 1842/2079] feat: 48-color traces + hue-rotate for all parts From c76f90b25f09373b445fe42dd3bb07f59f34a563 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:09 -0700 Subject: [PATCH 1843/2079] feat: 48-color traces + hue-rotate for all parts From 6a19f44a4a9c8e47a5aa9c137338114784cc176b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:09 -0700 Subject: [PATCH 1844/2079] feat: 48-color traces + hue-rotate for all parts From 8a3e6da5dc218aa422c8cd7907c5e155bd96c051 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:10 -0700 Subject: [PATCH 1845/2079] feat: 48-color traces + hue-rotate for all parts From 265a40339855efcb76fdd67f2bda3d3c8820e771 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:10 -0700 Subject: [PATCH 1846/2079] feat: 48-color traces + hue-rotate for all parts From 464db0a2fca1879da0bee048f2d4216bd4c19fc6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:11 -0700 Subject: [PATCH 1847/2079] feat: 48-color traces + hue-rotate for all parts From 8944a944c9ae3d14fbd09d0474d403795759ac43 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:11 -0700 Subject: [PATCH 1848/2079] feat: 48-color traces + hue-rotate for all parts From 7098616aeaa5f59c2b9a7a660213ff41513ce97d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:12 -0700 Subject: [PATCH 1849/2079] feat: 48-color traces + hue-rotate for all parts From 2cadec344d8919283ba09273da620614433c6c09 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:12 -0700 Subject: [PATCH 1850/2079] feat: 48-color traces + hue-rotate for all parts From a385f292d0b87f31d82c9dcc3552135970852a10 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:42:12 -0700 Subject: [PATCH 1851/2079] feat: 48-color traces + hue-rotate for all parts --- svg/preview.html | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/svg/preview.html b/svg/preview.html index e9d99311..2ba31e62 100644 --- a/svg/preview.html +++ b/svg/preview.html @@ -219,15 +219,16 @@

Parts Library

const emAccent = COLORS[emColor] || COLORS[9]; const accAccent = COLORS[accColor] || COLORS[8]; - // Shape selected by style index, color applied by recoloring - const head = recolor(extractContent(parts.heads[headStyle] || ''), main, emAccent); - const body = recolor(extractContent(parts.bodies[bodyStyle] || ''), main, emAccent); - - // Detail parts (eyes, mouths, acc) use hue rotation to preserve internal detail - // Source band is blue (h≈198), so we rotate by (targetHue - 198) - const srcHue = 198; // band 0 blue - const emRotate = emAccent.h - srcHue; - const accRotate = accAccent.h - srcHue; + // All parts use hue-rotate to preserve traced detail + // Heads/bodies traced from band 2 (green, h≈129) + // Eyes/mouths/acc traced from band 0 (blue, h≈198) + const bhSrcHue = 129; // green (band 2) + const emSrcHue = 198; // blue (band 0) + const bhRotate = main.h - bhSrcHue; + const emRotate = emAccent.h - emSrcHue; + const accRotate = accAccent.h - emSrcHue; + const head = extractContent(parts.heads[headStyle] || ''); + const body = extractContent(parts.bodies[bodyStyle] || ''); const eyes = extractContent(parts.eyes[eyeStyle] || ''); const mouth = extractContent(parts.mouths[mouthStyle] || ''); const acc = extractContent(parts.accessories[accStyle] || ''); @@ -239,12 +240,13 @@

Parts Library

return ` + - ${body} - ${head} + ${body} + ${head} ${mouth} ${eyes} ${acc} From 824895cea76ee45c826bdcea3321c966af467dcf Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:43 -0700 Subject: [PATCH 1852/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/heads/head-0.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-0.svg b/svg/parts-traced/heads/head-0.svg index 663468f7..691a15f7 100644 --- a/svg/parts-traced/heads/head-0.svg +++ b/svg/parts-traced/heads/head-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 75d3cb6a9757330788401d1996a607dc6739a950 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:43 -0700 Subject: [PATCH 1853/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/bodies/body-0.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-0.svg b/svg/parts-traced/bodies/body-0.svg index bf03f508..c2686def 100644 --- a/svg/parts-traced/bodies/body-0.svg +++ b/svg/parts-traced/bodies/body-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 52e581e8d6774fe19a3ac665ed183f966048b961 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:44 -0700 Subject: [PATCH 1854/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/heads/head-1.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-1.svg b/svg/parts-traced/heads/head-1.svg index e6ac2d49..1ef77c77 100644 --- a/svg/parts-traced/heads/head-1.svg +++ b/svg/parts-traced/heads/head-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From bb31a63b689e8ec65923a40a765346d9a965b862 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:44 -0700 Subject: [PATCH 1855/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/bodies/body-1.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-1.svg b/svg/parts-traced/bodies/body-1.svg index abcf60bb..ca2ce411 100644 --- a/svg/parts-traced/bodies/body-1.svg +++ b/svg/parts-traced/bodies/body-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 3513cb4606a71b6b0c0911b116201a9a04ec30f7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:45 -0700 Subject: [PATCH 1856/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/heads/head-2.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-2.svg b/svg/parts-traced/heads/head-2.svg index 4015eaf5..08acff31 100644 --- a/svg/parts-traced/heads/head-2.svg +++ b/svg/parts-traced/heads/head-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From f5db64c00018e569fa5a1189208c75b1ac1d29b4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:46 -0700 Subject: [PATCH 1857/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/bodies/body-2.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-2.svg b/svg/parts-traced/bodies/body-2.svg index c95affe5..030ee53f 100644 --- a/svg/parts-traced/bodies/body-2.svg +++ b/svg/parts-traced/bodies/body-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 2d752752be6fecb80e28ce83dbe81d01e41dd351 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:46 -0700 Subject: [PATCH 1858/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/heads/head-3.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-3.svg b/svg/parts-traced/heads/head-3.svg index accc4d66..ce1b8d28 100644 --- a/svg/parts-traced/heads/head-3.svg +++ b/svg/parts-traced/heads/head-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From f81ef89e3a84d1e865f11f33039322e494ce1c15 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:47 -0700 Subject: [PATCH 1859/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/bodies/body-3.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-3.svg b/svg/parts-traced/bodies/body-3.svg index ff113c61..7c59113d 100644 --- a/svg/parts-traced/bodies/body-3.svg +++ b/svg/parts-traced/bodies/body-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 44a0ff9d68c364c9ac6659683ed7a2fc331959c4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:47 -0700 Subject: [PATCH 1860/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/heads/head-4.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-4.svg b/svg/parts-traced/heads/head-4.svg index ece5c31e..6f082622 100644 --- a/svg/parts-traced/heads/head-4.svg +++ b/svg/parts-traced/heads/head-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 3f724df26705a6f8ccf438d4f5ff9d8c71470ba4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:48 -0700 Subject: [PATCH 1861/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/bodies/body-4.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-4.svg b/svg/parts-traced/bodies/body-4.svg index 40f2030d..e4daadc7 100644 --- a/svg/parts-traced/bodies/body-4.svg +++ b/svg/parts-traced/bodies/body-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 340ba048fce7a9d99339784cbc9b630e3fa48289 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:48 -0700 Subject: [PATCH 1862/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/heads/head-5.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-5.svg b/svg/parts-traced/heads/head-5.svg index 98109c08..529b4555 100644 --- a/svg/parts-traced/heads/head-5.svg +++ b/svg/parts-traced/heads/head-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 8233e5e90b298780e9a56632d062597a52f7ae24 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:49 -0700 Subject: [PATCH 1863/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/bodies/body-5.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-5.svg b/svg/parts-traced/bodies/body-5.svg index a3ed8fa0..5150c6ed 100644 --- a/svg/parts-traced/bodies/body-5.svg +++ b/svg/parts-traced/bodies/body-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 0ebb809fd9daf6e8a1ed0c4cccf87cd0ac5ae1c4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:49 -0700 Subject: [PATCH 1864/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/heads/head-6.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-6.svg b/svg/parts-traced/heads/head-6.svg index f05164ad..8dd2e38c 100644 --- a/svg/parts-traced/heads/head-6.svg +++ b/svg/parts-traced/heads/head-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 819a4bf3b2b09275240ee5aed09f80d6a2eac19f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:49 -0700 Subject: [PATCH 1865/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/bodies/body-6.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-6.svg b/svg/parts-traced/bodies/body-6.svg index eae4d901..926efba8 100644 --- a/svg/parts-traced/bodies/body-6.svg +++ b/svg/parts-traced/bodies/body-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 2614edf6ad9bdb0b83f9ba956250df0d376a776e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:50 -0700 Subject: [PATCH 1866/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/heads/head-7.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-7.svg b/svg/parts-traced/heads/head-7.svg index 9b222413..d56b4ba7 100644 --- a/svg/parts-traced/heads/head-7.svg +++ b/svg/parts-traced/heads/head-7.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From fcb584281fafd349693bfda8dd1c746a928f4ab5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:51 -0700 Subject: [PATCH 1867/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/bodies/body-7.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-7.svg b/svg/parts-traced/bodies/body-7.svg index 1d86bc16..ad769b1f 100644 --- a/svg/parts-traced/bodies/body-7.svg +++ b/svg/parts-traced/bodies/body-7.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 4250c890f8766a211348db1d77054ce0ce435d2e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:51 -0700 Subject: [PATCH 1868/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/heads/head-8.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-8.svg b/svg/parts-traced/heads/head-8.svg index 27efe1b6..aa1e4f84 100644 --- a/svg/parts-traced/heads/head-8.svg +++ b/svg/parts-traced/heads/head-8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From ca9bfdaf3c05a0bffa09c0a5e5abc50299129388 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:51 -0700 Subject: [PATCH 1869/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/bodies/body-8.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-8.svg b/svg/parts-traced/bodies/body-8.svg index 74c7a654..a710783e 100644 --- a/svg/parts-traced/bodies/body-8.svg +++ b/svg/parts-traced/bodies/body-8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 694b7db53dc978222902e455cab8b6cab97dc4af Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:52 -0700 Subject: [PATCH 1870/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/heads/head-9.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-9.svg b/svg/parts-traced/heads/head-9.svg index 83a95b41..f04641b1 100644 --- a/svg/parts-traced/heads/head-9.svg +++ b/svg/parts-traced/heads/head-9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From bb77a3c462610e278e17d679c5e0fd81e9b0d09f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:53 -0700 Subject: [PATCH 1871/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/parts-traced/bodies/body-9.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-9.svg b/svg/parts-traced/bodies/body-9.svg index 67ef8b81..98cbfc60 100644 --- a/svg/parts-traced/bodies/body-9.svg +++ b/svg/parts-traced/bodies/body-9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 5052c07244db23b0fb95408ef56ee203771e5c00 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 12:43:53 -0700 Subject: [PATCH 1872/2079] fix: revert heads/bodies to 5-placeholder recolor --- svg/preview.html | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/svg/preview.html b/svg/preview.html index 2ba31e62..3f78166a 100644 --- a/svg/preview.html +++ b/svg/preview.html @@ -219,16 +219,15 @@

Parts Library

const emAccent = COLORS[emColor] || COLORS[9]; const accAccent = COLORS[accColor] || COLORS[8]; - // All parts use hue-rotate to preserve traced detail - // Heads/bodies traced from band 2 (green, h≈129) - // Eyes/mouths/acc traced from band 0 (blue, h≈198) - const bhSrcHue = 129; // green (band 2) - const emSrcHue = 198; // blue (band 0) - const bhRotate = main.h - bhSrcHue; + // Heads/bodies use placeholder recolor (5-color remapped) + const head = recolor(extractContent(parts.heads[headStyle] || ''), main, emAccent); + const body = recolor(extractContent(parts.bodies[bodyStyle] || ''), main, emAccent); + + // Eyes/mouths/acc use hue-rotate to preserve internal detail (48-color, no remap) + // Traced from band 0 (blue, h≈198) + const emSrcHue = 198; const emRotate = emAccent.h - emSrcHue; const accRotate = accAccent.h - emSrcHue; - const head = extractContent(parts.heads[headStyle] || ''); - const body = extractContent(parts.bodies[bodyStyle] || ''); const eyes = extractContent(parts.eyes[eyeStyle] || ''); const mouth = extractContent(parts.mouths[mouthStyle] || ''); const acc = extractContent(parts.accessories[accStyle] || ''); @@ -240,13 +239,12 @@

Parts Library

return ` - - ${body} - ${head} + ${body} + ${head} ${mouth} ${eyes} ${acc} From 55850cf70c259fc4e8659cb81dac3e234919d61b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:16 -0700 Subject: [PATCH 1873/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/eyes/eye-0.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-0.svg b/svg/parts-traced/eyes/eye-0.svg index 6cc61107..fc8d7498 100644 --- a/svg/parts-traced/eyes/eye-0.svg +++ b/svg/parts-traced/eyes/eye-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 20f84dcc51f25755f410b1d32dff0c24140bbe0f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:17 -0700 Subject: [PATCH 1874/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/mouths/mouth-0.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-0.svg b/svg/parts-traced/mouths/mouth-0.svg index 6cd41bb7..f899bde9 100644 --- a/svg/parts-traced/mouths/mouth-0.svg +++ b/svg/parts-traced/mouths/mouth-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From b39082ab7f28ba89ec2cf884c2a2cc9f246d5e75 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:17 -0700 Subject: [PATCH 1875/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/accessories/accessory-0.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-0.svg b/svg/parts-traced/accessories/accessory-0.svg index 2d3e4a03..7df94108 100644 --- a/svg/parts-traced/accessories/accessory-0.svg +++ b/svg/parts-traced/accessories/accessory-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 408e4dfef94883c43cbb8b5b9b70ea399555e479 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:17 -0700 Subject: [PATCH 1876/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/eyes/eye-1.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-1.svg b/svg/parts-traced/eyes/eye-1.svg index bae95b97..6268e2c6 100644 --- a/svg/parts-traced/eyes/eye-1.svg +++ b/svg/parts-traced/eyes/eye-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 203209b9617fc0e00b2521983525ea6a32142cfe Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:18 -0700 Subject: [PATCH 1877/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/mouths/mouth-1.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-1.svg b/svg/parts-traced/mouths/mouth-1.svg index 3e0c799f..966fb800 100644 --- a/svg/parts-traced/mouths/mouth-1.svg +++ b/svg/parts-traced/mouths/mouth-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 0ddc053af4e689bc45b7dc9c030602fa37644454 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:18 -0700 Subject: [PATCH 1878/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/accessories/accessory-1.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-1.svg b/svg/parts-traced/accessories/accessory-1.svg index 28f7e147..4d8472ff 100644 --- a/svg/parts-traced/accessories/accessory-1.svg +++ b/svg/parts-traced/accessories/accessory-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 32a4e2340704c93a23ad96d7af6d1ac6cb40a19c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:19 -0700 Subject: [PATCH 1879/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/eyes/eye-2.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-2.svg b/svg/parts-traced/eyes/eye-2.svg index 698330de..eb8ec36e 100644 --- a/svg/parts-traced/eyes/eye-2.svg +++ b/svg/parts-traced/eyes/eye-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From f324358d5484e9b260cdda5257120dcf3b4e0a78 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:19 -0700 Subject: [PATCH 1880/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/mouths/mouth-2.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-2.svg b/svg/parts-traced/mouths/mouth-2.svg index 29fbd2d2..0e0ed58d 100644 --- a/svg/parts-traced/mouths/mouth-2.svg +++ b/svg/parts-traced/mouths/mouth-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From d639619dcb786f4f6b25b220ef15e9ef377ba0dc Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:20 -0700 Subject: [PATCH 1881/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/accessories/accessory-2.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-2.svg b/svg/parts-traced/accessories/accessory-2.svg index 2de14e16..063bdfb9 100644 --- a/svg/parts-traced/accessories/accessory-2.svg +++ b/svg/parts-traced/accessories/accessory-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 9303ec9aa67cb2a579be7ebf4d8105a99df9a3a3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:20 -0700 Subject: [PATCH 1882/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/eyes/eye-3.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-3.svg b/svg/parts-traced/eyes/eye-3.svg index 46a9d434..b1997693 100644 --- a/svg/parts-traced/eyes/eye-3.svg +++ b/svg/parts-traced/eyes/eye-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From e17e3d73a437ba2f1afd5f3d0ee5ad2a97015dcb Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:21 -0700 Subject: [PATCH 1883/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/mouths/mouth-3.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-3.svg b/svg/parts-traced/mouths/mouth-3.svg index 5baac68e..d0cddd25 100644 --- a/svg/parts-traced/mouths/mouth-3.svg +++ b/svg/parts-traced/mouths/mouth-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 2fc1df939353685f11fe39f82076e4f52d6dc5f4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:21 -0700 Subject: [PATCH 1884/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/accessories/accessory-3.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-3.svg b/svg/parts-traced/accessories/accessory-3.svg index 736875e6..a6ee5215 100644 --- a/svg/parts-traced/accessories/accessory-3.svg +++ b/svg/parts-traced/accessories/accessory-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From febcdacd3909c499413b81bd6055882f87c0baff Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:22 -0700 Subject: [PATCH 1885/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/eyes/eye-4.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-4.svg b/svg/parts-traced/eyes/eye-4.svg index 75a30677..3738de16 100644 --- a/svg/parts-traced/eyes/eye-4.svg +++ b/svg/parts-traced/eyes/eye-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From a7fa0433a3f9603985867b5d2f44b7656aefbf18 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:22 -0700 Subject: [PATCH 1886/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/mouths/mouth-4.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-4.svg b/svg/parts-traced/mouths/mouth-4.svg index 32984097..2dffdd30 100644 --- a/svg/parts-traced/mouths/mouth-4.svg +++ b/svg/parts-traced/mouths/mouth-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From ad1d7ec8eb84b312f0aa2faaa175abe96c9a5420 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:23 -0700 Subject: [PATCH 1887/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/accessories/accessory-4.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-4.svg b/svg/parts-traced/accessories/accessory-4.svg index dcd2d946..35ce1ae7 100644 --- a/svg/parts-traced/accessories/accessory-4.svg +++ b/svg/parts-traced/accessories/accessory-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 0b31b7e910647ca0a864def8eeedf50da0c7416b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:23 -0700 Subject: [PATCH 1888/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/eyes/eye-5.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-5.svg b/svg/parts-traced/eyes/eye-5.svg index 52a43f7d..e3f2884a 100644 --- a/svg/parts-traced/eyes/eye-5.svg +++ b/svg/parts-traced/eyes/eye-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From a91c7bf262f5ae803d3c8675434f7a084433751c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:24 -0700 Subject: [PATCH 1889/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/mouths/mouth-5.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-5.svg b/svg/parts-traced/mouths/mouth-5.svg index 1d337211..0dcba7a6 100644 --- a/svg/parts-traced/mouths/mouth-5.svg +++ b/svg/parts-traced/mouths/mouth-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 7ebcc781ec24e33c3a893643867175204079f3f7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:24 -0700 Subject: [PATCH 1890/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/accessories/accessory-5.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-5.svg b/svg/parts-traced/accessories/accessory-5.svg index ba484083..f33cbf43 100644 --- a/svg/parts-traced/accessories/accessory-5.svg +++ b/svg/parts-traced/accessories/accessory-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 5d112ce245d9e909d3855f28d0983c2c69f804c8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:24 -0700 Subject: [PATCH 1891/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/eyes/eye-6.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-6.svg b/svg/parts-traced/eyes/eye-6.svg index cf076180..58953745 100644 --- a/svg/parts-traced/eyes/eye-6.svg +++ b/svg/parts-traced/eyes/eye-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 81951007141598716780d9695d43d6f7fb9c3242 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:25 -0700 Subject: [PATCH 1892/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/mouths/mouth-6.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-6.svg b/svg/parts-traced/mouths/mouth-6.svg index 62fe8547..84942f4e 100644 --- a/svg/parts-traced/mouths/mouth-6.svg +++ b/svg/parts-traced/mouths/mouth-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From c27299b8d76207502906fb50b5129f74a948e25f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:25 -0700 Subject: [PATCH 1893/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/accessories/accessory-6.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-6.svg b/svg/parts-traced/accessories/accessory-6.svg index 56ec9edf..974ed9cd 100644 --- a/svg/parts-traced/accessories/accessory-6.svg +++ b/svg/parts-traced/accessories/accessory-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 43b9352b7ced50127de89a2dd00bc49c86f07a20 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:26 -0700 Subject: [PATCH 1894/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/eyes/eye-7.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-7.svg b/svg/parts-traced/eyes/eye-7.svg index 30759ce6..cc8f0623 100644 --- a/svg/parts-traced/eyes/eye-7.svg +++ b/svg/parts-traced/eyes/eye-7.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 76bd3c016f99458cddcbe47b01344cd516fd10b6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:26 -0700 Subject: [PATCH 1895/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/mouths/mouth-7.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-7.svg b/svg/parts-traced/mouths/mouth-7.svg index c8e18284..e52d63c0 100644 --- a/svg/parts-traced/mouths/mouth-7.svg +++ b/svg/parts-traced/mouths/mouth-7.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 1cbb50952dc2069b9e9f3082f42be32c75ac9a48 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:27 -0700 Subject: [PATCH 1896/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/accessories/accessory-7.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-7.svg b/svg/parts-traced/accessories/accessory-7.svg index 17dbf9e9..569802af 100644 --- a/svg/parts-traced/accessories/accessory-7.svg +++ b/svg/parts-traced/accessories/accessory-7.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 2d141df47c4d72792c3574d9fed6a51f27dac8d6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:27 -0700 Subject: [PATCH 1897/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/eyes/eye-8.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-8.svg b/svg/parts-traced/eyes/eye-8.svg index 22f0bd94..b061c824 100644 --- a/svg/parts-traced/eyes/eye-8.svg +++ b/svg/parts-traced/eyes/eye-8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 520fdc41eb283f367bdfb371c006c3309884b86c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:27 -0700 Subject: [PATCH 1898/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/mouths/mouth-8.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-8.svg b/svg/parts-traced/mouths/mouth-8.svg index 7a7793ae..0864951f 100644 --- a/svg/parts-traced/mouths/mouth-8.svg +++ b/svg/parts-traced/mouths/mouth-8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From b0964e3216d42aab146b4b5fe2619ab01885d860 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:28 -0700 Subject: [PATCH 1899/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/accessories/accessory-8.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-8.svg b/svg/parts-traced/accessories/accessory-8.svg index b176ba6e..133a67ec 100644 --- a/svg/parts-traced/accessories/accessory-8.svg +++ b/svg/parts-traced/accessories/accessory-8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 2c00e91c70e9f89ae81e01bb777de5a55dc81465 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:28 -0700 Subject: [PATCH 1900/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/eyes/eye-9.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-9.svg b/svg/parts-traced/eyes/eye-9.svg index 48afb23c..7698fbe9 100644 --- a/svg/parts-traced/eyes/eye-9.svg +++ b/svg/parts-traced/eyes/eye-9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 767c77a8b7f5530cc4712cc8893f59966a7d6859 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:29 -0700 Subject: [PATCH 1901/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/mouths/mouth-9.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-9.svg b/svg/parts-traced/mouths/mouth-9.svg index 91360b7b..23d68f69 100644 --- a/svg/parts-traced/mouths/mouth-9.svg +++ b/svg/parts-traced/mouths/mouth-9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 3d515bc79820cfefd52dd773d9f64838468a7438 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:29 -0700 Subject: [PATCH 1902/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/parts-traced/accessories/accessory-9.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-9.svg b/svg/parts-traced/accessories/accessory-9.svg index 6c6c987f..e43cfc3c 100644 --- a/svg/parts-traced/accessories/accessory-9.svg +++ b/svg/parts-traced/accessories/accessory-9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 081d07421d211ea4c4258f79dd4f48d6e30d723f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 13:39:30 -0700 Subject: [PATCH 1903/2079] feat: max detail traces (3x lanczos, 128 colors) --- svg/preview.html | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/svg/preview.html b/svg/preview.html index 3f78166a..d59afcdb 100644 --- a/svg/preview.html +++ b/svg/preview.html @@ -181,7 +181,15 @@

Parts Library

const gMatch = svgString.match(/]*>([\s\S]*?)<\/g>/); if (gMatch) return gMatch[1]; // Traced SVGs: strip and , return inner paths - return svgString.replace(/]*>/, '').replace(/<\/svg>/, ''); + const vbMatch = svgString.match(/viewBox="0 0 (\d+) (\d+)"/); + const vbSize = vbMatch ? parseInt(vbMatch[1]) : 600; + let content = svgString.replace(/]*>/, '').replace(/<\/svg>/, ''); + // Normalize to 600x600 coordinate space (heads/bodies are 600, detail parts may be 900) + if (vbSize !== 600) { + const scale = 600 / vbSize; + content = `${content}`; + } + return content; } // Replace placeholder colors in SVG content with hash-derived colors From 03cc9fc4fba74158006b3330b8d7f6d452ec497c Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:03 -0700 Subject: [PATCH 1904/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/heads/head-0.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-0.svg b/svg/parts-traced/heads/head-0.svg index 691a15f7..807e552d 100644 --- a/svg/parts-traced/heads/head-0.svg +++ b/svg/parts-traced/heads/head-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From b5dcc9fab98d4b3d5edb2393824258b201233c07 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:03 -0700 Subject: [PATCH 1905/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/bodies/body-0.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-0.svg b/svg/parts-traced/bodies/body-0.svg index c2686def..5e94226f 100644 --- a/svg/parts-traced/bodies/body-0.svg +++ b/svg/parts-traced/bodies/body-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 571bc71568d28d11ffcbcbcdda6c7fe9070a4b4b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:04 -0700 Subject: [PATCH 1906/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/heads/head-1.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-1.svg b/svg/parts-traced/heads/head-1.svg index 1ef77c77..c6cca4c3 100644 --- a/svg/parts-traced/heads/head-1.svg +++ b/svg/parts-traced/heads/head-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 9d0adc30aa90ff604a83f399c9e4ba6d9fdaf27a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:04 -0700 Subject: [PATCH 1907/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/bodies/body-1.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-1.svg b/svg/parts-traced/bodies/body-1.svg index ca2ce411..7b4ba9e1 100644 --- a/svg/parts-traced/bodies/body-1.svg +++ b/svg/parts-traced/bodies/body-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 623ce7f5fa62786628959055c0a96c5a44f7f9ec Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:05 -0700 Subject: [PATCH 1908/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/heads/head-2.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-2.svg b/svg/parts-traced/heads/head-2.svg index 08acff31..f3d65ec6 100644 --- a/svg/parts-traced/heads/head-2.svg +++ b/svg/parts-traced/heads/head-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 4960ed81247ff8e8759299c3d2597aeaed8305b3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:05 -0700 Subject: [PATCH 1909/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/bodies/body-2.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-2.svg b/svg/parts-traced/bodies/body-2.svg index 030ee53f..9cc98ba3 100644 --- a/svg/parts-traced/bodies/body-2.svg +++ b/svg/parts-traced/bodies/body-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 187defd6436d1dd92e1ddb121f7fc32ee780ee3f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:06 -0700 Subject: [PATCH 1910/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/heads/head-3.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-3.svg b/svg/parts-traced/heads/head-3.svg index ce1b8d28..9be5c793 100644 --- a/svg/parts-traced/heads/head-3.svg +++ b/svg/parts-traced/heads/head-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From dc6d6be49db13a2b275657067e77651fe42cd8ff Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:06 -0700 Subject: [PATCH 1911/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/bodies/body-3.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-3.svg b/svg/parts-traced/bodies/body-3.svg index 7c59113d..b7dc57a7 100644 --- a/svg/parts-traced/bodies/body-3.svg +++ b/svg/parts-traced/bodies/body-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From e05744c7c8167f009baa711deb5595389bb786b0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:07 -0700 Subject: [PATCH 1912/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/heads/head-4.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-4.svg b/svg/parts-traced/heads/head-4.svg index 6f082622..81af7a3f 100644 --- a/svg/parts-traced/heads/head-4.svg +++ b/svg/parts-traced/heads/head-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 7447c8b980793cb02891d0368f456532ad919c77 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:07 -0700 Subject: [PATCH 1913/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/bodies/body-4.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-4.svg b/svg/parts-traced/bodies/body-4.svg index e4daadc7..6cd172a6 100644 --- a/svg/parts-traced/bodies/body-4.svg +++ b/svg/parts-traced/bodies/body-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 3f949e60f9144f94d5a6508c91f3349775ffd943 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:08 -0700 Subject: [PATCH 1914/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/heads/head-5.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-5.svg b/svg/parts-traced/heads/head-5.svg index 529b4555..9d2227aa 100644 --- a/svg/parts-traced/heads/head-5.svg +++ b/svg/parts-traced/heads/head-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 9151702188aa1c849ef2ee0480bd3a5eccb8e3c9 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:08 -0700 Subject: [PATCH 1915/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/bodies/body-5.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-5.svg b/svg/parts-traced/bodies/body-5.svg index 5150c6ed..bcf50db7 100644 --- a/svg/parts-traced/bodies/body-5.svg +++ b/svg/parts-traced/bodies/body-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 6d7bd4e9c1fbb97bdd6a15b249669c90a8a1edf8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:09 -0700 Subject: [PATCH 1916/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/heads/head-6.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-6.svg b/svg/parts-traced/heads/head-6.svg index 8dd2e38c..ec821f1e 100644 --- a/svg/parts-traced/heads/head-6.svg +++ b/svg/parts-traced/heads/head-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 8109d3bb0f83d425d13beaf945f6b958b94ca729 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:09 -0700 Subject: [PATCH 1917/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/bodies/body-6.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-6.svg b/svg/parts-traced/bodies/body-6.svg index 926efba8..e71280e9 100644 --- a/svg/parts-traced/bodies/body-6.svg +++ b/svg/parts-traced/bodies/body-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From e2347b2f60d41fd671276698e99348421537d369 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:10 -0700 Subject: [PATCH 1918/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/heads/head-7.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-7.svg b/svg/parts-traced/heads/head-7.svg index d56b4ba7..4c18f548 100644 --- a/svg/parts-traced/heads/head-7.svg +++ b/svg/parts-traced/heads/head-7.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 8a560eeceedcf41b147ae4fffe45056254f7a82a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:10 -0700 Subject: [PATCH 1919/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/bodies/body-7.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-7.svg b/svg/parts-traced/bodies/body-7.svg index ad769b1f..8e370c59 100644 --- a/svg/parts-traced/bodies/body-7.svg +++ b/svg/parts-traced/bodies/body-7.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 6e50e1bb6c605a0ee7763ac3c5ca4aa11548eeb0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:11 -0700 Subject: [PATCH 1920/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/heads/head-8.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-8.svg b/svg/parts-traced/heads/head-8.svg index aa1e4f84..28d151ff 100644 --- a/svg/parts-traced/heads/head-8.svg +++ b/svg/parts-traced/heads/head-8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 63487539f8b2e0c3ef5e1344780b0ea1204f609d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:11 -0700 Subject: [PATCH 1921/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/bodies/body-8.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-8.svg b/svg/parts-traced/bodies/body-8.svg index a710783e..7a5722fb 100644 --- a/svg/parts-traced/bodies/body-8.svg +++ b/svg/parts-traced/bodies/body-8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 9cd1f8a1ece89c70f93c0376a3f4fbee02d81274 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:12 -0700 Subject: [PATCH 1922/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/heads/head-9.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-9.svg b/svg/parts-traced/heads/head-9.svg index f04641b1..b70d49cd 100644 --- a/svg/parts-traced/heads/head-9.svg +++ b/svg/parts-traced/heads/head-9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From e9c04506a99443cc1d71ec25be93707a0666b088 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:12 -0700 Subject: [PATCH 1923/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/parts-traced/bodies/body-9.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-9.svg b/svg/parts-traced/bodies/body-9.svg index 98cbfc60..93c1d8e5 100644 --- a/svg/parts-traced/bodies/body-9.svg +++ b/svg/parts-traced/bodies/body-9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 5c37f999553e9f07fc102b580f62bf2781015415 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:04:13 -0700 Subject: [PATCH 1924/2079] feat: 3x lanczos 128-color traces for heads/bodies + hue-rotate --- svg/preview.html | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/svg/preview.html b/svg/preview.html index d59afcdb..8ead58c8 100644 --- a/svg/preview.html +++ b/svg/preview.html @@ -227,15 +227,16 @@

Parts Library

const emAccent = COLORS[emColor] || COLORS[9]; const accAccent = COLORS[accColor] || COLORS[8]; - // Heads/bodies use placeholder recolor (5-color remapped) - const head = recolor(extractContent(parts.heads[headStyle] || ''), main, emAccent); - const body = recolor(extractContent(parts.bodies[bodyStyle] || ''), main, emAccent); - - // Eyes/mouths/acc use hue-rotate to preserve internal detail (48-color, no remap) - // Traced from band 0 (blue, h≈198) + // All parts use hue-rotate to preserve traced detail + // Heads/bodies traced from band 2 (green, h≈129) + // Eyes/mouths/acc traced from band 0 (blue, h≈198) + const bhSrcHue = 129; const emSrcHue = 198; + const bhRotate = main.h - bhSrcHue; const emRotate = emAccent.h - emSrcHue; const accRotate = accAccent.h - emSrcHue; + const head = extractContent(parts.heads[headStyle] || ''); + const body = extractContent(parts.bodies[bodyStyle] || ''); const eyes = extractContent(parts.eyes[eyeStyle] || ''); const mouth = extractContent(parts.mouths[mouthStyle] || ''); const acc = extractContent(parts.accessories[accStyle] || ''); @@ -247,12 +248,13 @@

Parts Library

return ` + - ${body} - ${head} + ${body} + ${head} ${mouth} ${eyes} ${acc} From 52cff17a5ac6a5601caf0484869c9758d3208155 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 14:06:29 -0700 Subject: [PATCH 1925/2079] fix: unique filter IDs per robot SVG --- svg/preview.html | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/svg/preview.html b/svg/preview.html index 8ead58c8..b8b6f06f 100644 --- a/svg/preview.html +++ b/svg/preview.html @@ -220,7 +220,9 @@

Parts Library

.replace(/stroke-width="[^"]*"/g, 'stroke-width="3"'); } +let svgCounter = 0; function composeSvg(buckets) { + const uid = svgCounter++; const [bodyStyle, headStyle, eyeStyle, mouthStyle, accStyle, bhColor, emColor, accColor] = buckets; const main = COLORS[bhColor] || COLORS[0]; @@ -248,16 +250,16 @@

Parts Library

return ` - - - + + + - ${body} - ${head} - ${mouth} - ${eyes} - ${acc} + ${body} + ${head} + ${mouth} + ${eyes} + ${acc} `; } From 033c0ae204385527307969376a18009f2fd08360 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:44 -0700 Subject: [PATCH 1926/2079] Optimize accessory-0.svg (smoother trace + SVGO) --- svg/parts-traced/accessories/accessory-0.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-0.svg b/svg/parts-traced/accessories/accessory-0.svg index 7df94108..e07c554b 100644 --- a/svg/parts-traced/accessories/accessory-0.svg +++ b/svg/parts-traced/accessories/accessory-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From dbc344b51498fcd5d921b534fc8f2c01df686d7b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:44 -0700 Subject: [PATCH 1927/2079] Optimize accessory-1.svg (smoother trace + SVGO) --- svg/parts-traced/accessories/accessory-1.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-1.svg b/svg/parts-traced/accessories/accessory-1.svg index 4d8472ff..e6494d7e 100644 --- a/svg/parts-traced/accessories/accessory-1.svg +++ b/svg/parts-traced/accessories/accessory-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 92deec43998927b620e3e8b2af93303301e73785 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:44 -0700 Subject: [PATCH 1928/2079] Optimize accessory-2.svg (smoother trace + SVGO) --- svg/parts-traced/accessories/accessory-2.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-2.svg b/svg/parts-traced/accessories/accessory-2.svg index 063bdfb9..9a5823bf 100644 --- a/svg/parts-traced/accessories/accessory-2.svg +++ b/svg/parts-traced/accessories/accessory-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From e022649999fa12006f4868fe21b524547535f5c7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:45 -0700 Subject: [PATCH 1929/2079] Optimize accessory-3.svg (smoother trace + SVGO) --- svg/parts-traced/accessories/accessory-3.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-3.svg b/svg/parts-traced/accessories/accessory-3.svg index a6ee5215..7669a159 100644 --- a/svg/parts-traced/accessories/accessory-3.svg +++ b/svg/parts-traced/accessories/accessory-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 6a1bafb150eb62195a0e6b67e236b6f12696bdb1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:45 -0700 Subject: [PATCH 1930/2079] Optimize accessory-4.svg (smoother trace + SVGO) --- svg/parts-traced/accessories/accessory-4.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-4.svg b/svg/parts-traced/accessories/accessory-4.svg index 35ce1ae7..d558eb71 100644 --- a/svg/parts-traced/accessories/accessory-4.svg +++ b/svg/parts-traced/accessories/accessory-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From eea10900b78b29ca242e36d7c4520a6c85c81292 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:46 -0700 Subject: [PATCH 1931/2079] Optimize accessory-5.svg (smoother trace + SVGO) --- svg/parts-traced/accessories/accessory-5.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-5.svg b/svg/parts-traced/accessories/accessory-5.svg index f33cbf43..e1b1d153 100644 --- a/svg/parts-traced/accessories/accessory-5.svg +++ b/svg/parts-traced/accessories/accessory-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From dd1b176fa9777549df0ae1997e6ce21f1f3a79d8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:46 -0700 Subject: [PATCH 1932/2079] Optimize accessory-6.svg (smoother trace + SVGO) --- svg/parts-traced/accessories/accessory-6.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-6.svg b/svg/parts-traced/accessories/accessory-6.svg index 974ed9cd..a6aac8db 100644 --- a/svg/parts-traced/accessories/accessory-6.svg +++ b/svg/parts-traced/accessories/accessory-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 0e31929259b327864b8bd8373b5c18833efd1bd4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:46 -0700 Subject: [PATCH 1933/2079] Optimize accessory-7.svg (smoother trace + SVGO) --- svg/parts-traced/accessories/accessory-7.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-7.svg b/svg/parts-traced/accessories/accessory-7.svg index 569802af..8d9a0214 100644 --- a/svg/parts-traced/accessories/accessory-7.svg +++ b/svg/parts-traced/accessories/accessory-7.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 7e9da9da8698529fa083f23df62b52d6b7beb2d7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:47 -0700 Subject: [PATCH 1934/2079] Optimize accessory-8.svg (smoother trace + SVGO) --- svg/parts-traced/accessories/accessory-8.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-8.svg b/svg/parts-traced/accessories/accessory-8.svg index 133a67ec..2c513896 100644 --- a/svg/parts-traced/accessories/accessory-8.svg +++ b/svg/parts-traced/accessories/accessory-8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From b683de35420e45379187691466185afdac5a14ab Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:47 -0700 Subject: [PATCH 1935/2079] Optimize accessory-9.svg (smoother trace + SVGO) --- svg/parts-traced/accessories/accessory-9.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/accessories/accessory-9.svg b/svg/parts-traced/accessories/accessory-9.svg index e43cfc3c..90185e60 100644 --- a/svg/parts-traced/accessories/accessory-9.svg +++ b/svg/parts-traced/accessories/accessory-9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 67e6e2406e79880618284773b229ecf8dc9b1f2f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:48 -0700 Subject: [PATCH 1936/2079] Optimize body-0.svg (smoother trace + SVGO) --- svg/parts-traced/bodies/body-0.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-0.svg b/svg/parts-traced/bodies/body-0.svg index 5e94226f..e83750a6 100644 --- a/svg/parts-traced/bodies/body-0.svg +++ b/svg/parts-traced/bodies/body-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 7510f147da3851d6bcb6a508d4c9c1924091b59b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:48 -0700 Subject: [PATCH 1937/2079] Optimize body-1.svg (smoother trace + SVGO) --- svg/parts-traced/bodies/body-1.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-1.svg b/svg/parts-traced/bodies/body-1.svg index 7b4ba9e1..2de3e442 100644 --- a/svg/parts-traced/bodies/body-1.svg +++ b/svg/parts-traced/bodies/body-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 4aab935841a359ed625db6d7ad618237ba1b68d6 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:48 -0700 Subject: [PATCH 1938/2079] Optimize body-2.svg (smoother trace + SVGO) --- svg/parts-traced/bodies/body-2.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-2.svg b/svg/parts-traced/bodies/body-2.svg index 9cc98ba3..3a2974a4 100644 --- a/svg/parts-traced/bodies/body-2.svg +++ b/svg/parts-traced/bodies/body-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 3545d3ea6df64445c555dbc1d3388dd9e74fe9dc Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:49 -0700 Subject: [PATCH 1939/2079] Optimize body-3.svg (smoother trace + SVGO) --- svg/parts-traced/bodies/body-3.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-3.svg b/svg/parts-traced/bodies/body-3.svg index b7dc57a7..9077fef5 100644 --- a/svg/parts-traced/bodies/body-3.svg +++ b/svg/parts-traced/bodies/body-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From fce428f196cde847ab821a437ddd0ecd1b544a8d Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:49 -0700 Subject: [PATCH 1940/2079] Optimize body-4.svg (smoother trace + SVGO) --- svg/parts-traced/bodies/body-4.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-4.svg b/svg/parts-traced/bodies/body-4.svg index 6cd172a6..ef41a88e 100644 --- a/svg/parts-traced/bodies/body-4.svg +++ b/svg/parts-traced/bodies/body-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From c667474ce36c53e9e17fab0550e7e93b70e96fcf Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:50 -0700 Subject: [PATCH 1941/2079] Optimize body-5.svg (smoother trace + SVGO) --- svg/parts-traced/bodies/body-5.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-5.svg b/svg/parts-traced/bodies/body-5.svg index bcf50db7..a6533727 100644 --- a/svg/parts-traced/bodies/body-5.svg +++ b/svg/parts-traced/bodies/body-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 31f865e55d8072f201174adc45ada40a85992326 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:50 -0700 Subject: [PATCH 1942/2079] Optimize body-6.svg (smoother trace + SVGO) --- svg/parts-traced/bodies/body-6.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-6.svg b/svg/parts-traced/bodies/body-6.svg index e71280e9..98cfbc4c 100644 --- a/svg/parts-traced/bodies/body-6.svg +++ b/svg/parts-traced/bodies/body-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 5e29f7aedc38632cd663cf724ca9194da093ef12 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:51 -0700 Subject: [PATCH 1943/2079] Optimize body-7.svg (smoother trace + SVGO) --- svg/parts-traced/bodies/body-7.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-7.svg b/svg/parts-traced/bodies/body-7.svg index 8e370c59..b963393d 100644 --- a/svg/parts-traced/bodies/body-7.svg +++ b/svg/parts-traced/bodies/body-7.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 7b281f9c3951473a02426338a1c820337cc3414b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:51 -0700 Subject: [PATCH 1944/2079] Optimize body-8.svg (smoother trace + SVGO) --- svg/parts-traced/bodies/body-8.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-8.svg b/svg/parts-traced/bodies/body-8.svg index 7a5722fb..f0754259 100644 --- a/svg/parts-traced/bodies/body-8.svg +++ b/svg/parts-traced/bodies/body-8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 8b8c6feb6a7e19ad1ad9e2b3d65bbf7103365086 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:52 -0700 Subject: [PATCH 1945/2079] Optimize body-9.svg (smoother trace + SVGO) --- svg/parts-traced/bodies/body-9.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/bodies/body-9.svg b/svg/parts-traced/bodies/body-9.svg index 93c1d8e5..27d8a4b9 100644 --- a/svg/parts-traced/bodies/body-9.svg +++ b/svg/parts-traced/bodies/body-9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 66d961ecfe2d0a209231dafb5035a7584317a2da Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:52 -0700 Subject: [PATCH 1946/2079] Optimize eye-0.svg (smoother trace + SVGO) --- svg/parts-traced/eyes/eye-0.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-0.svg b/svg/parts-traced/eyes/eye-0.svg index fc8d7498..a68c8104 100644 --- a/svg/parts-traced/eyes/eye-0.svg +++ b/svg/parts-traced/eyes/eye-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From b3f57d1c83ff6a12357f8962fd46f32fbb6d75cb Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:53 -0700 Subject: [PATCH 1947/2079] Optimize eye-1.svg (smoother trace + SVGO) --- svg/parts-traced/eyes/eye-1.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-1.svg b/svg/parts-traced/eyes/eye-1.svg index 6268e2c6..c5c64eef 100644 --- a/svg/parts-traced/eyes/eye-1.svg +++ b/svg/parts-traced/eyes/eye-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 8e2d5ad826e232642eae2af8616eb04609672fee Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:53 -0700 Subject: [PATCH 1948/2079] Optimize eye-2.svg (smoother trace + SVGO) --- svg/parts-traced/eyes/eye-2.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-2.svg b/svg/parts-traced/eyes/eye-2.svg index eb8ec36e..31430726 100644 --- a/svg/parts-traced/eyes/eye-2.svg +++ b/svg/parts-traced/eyes/eye-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From cd007508e3c6d78dc4f2fda36ad3cd31c4e097ab Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:53 -0700 Subject: [PATCH 1949/2079] Optimize eye-3.svg (smoother trace + SVGO) --- svg/parts-traced/eyes/eye-3.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-3.svg b/svg/parts-traced/eyes/eye-3.svg index b1997693..399bc36c 100644 --- a/svg/parts-traced/eyes/eye-3.svg +++ b/svg/parts-traced/eyes/eye-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 3791b94a6408544557b46b924d5b126994578a7b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:54 -0700 Subject: [PATCH 1950/2079] Optimize eye-4.svg (smoother trace + SVGO) --- svg/parts-traced/eyes/eye-4.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-4.svg b/svg/parts-traced/eyes/eye-4.svg index 3738de16..131fd0a8 100644 --- a/svg/parts-traced/eyes/eye-4.svg +++ b/svg/parts-traced/eyes/eye-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 0197039c91748a3a94ab4e2cfe9563a0e8fa15ab Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:54 -0700 Subject: [PATCH 1951/2079] Optimize eye-5.svg (smoother trace + SVGO) --- svg/parts-traced/eyes/eye-5.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-5.svg b/svg/parts-traced/eyes/eye-5.svg index e3f2884a..1487e89f 100644 --- a/svg/parts-traced/eyes/eye-5.svg +++ b/svg/parts-traced/eyes/eye-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From f9b0fe967e78f6761bba81bbf6a81d1d28bfa6b7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:55 -0700 Subject: [PATCH 1952/2079] Optimize eye-6.svg (smoother trace + SVGO) --- svg/parts-traced/eyes/eye-6.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-6.svg b/svg/parts-traced/eyes/eye-6.svg index 58953745..07e85217 100644 --- a/svg/parts-traced/eyes/eye-6.svg +++ b/svg/parts-traced/eyes/eye-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 2e036284a5c70f9dd724b162a8aedd8ff22e8308 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:55 -0700 Subject: [PATCH 1953/2079] Optimize eye-7.svg (smoother trace + SVGO) --- svg/parts-traced/eyes/eye-7.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-7.svg b/svg/parts-traced/eyes/eye-7.svg index cc8f0623..3eeefd4f 100644 --- a/svg/parts-traced/eyes/eye-7.svg +++ b/svg/parts-traced/eyes/eye-7.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 12f3478b2af1a962f60410ce32c1bfc9f6f9d9a1 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:56 -0700 Subject: [PATCH 1954/2079] Optimize eye-8.svg (smoother trace + SVGO) --- svg/parts-traced/eyes/eye-8.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-8.svg b/svg/parts-traced/eyes/eye-8.svg index b061c824..4a90461f 100644 --- a/svg/parts-traced/eyes/eye-8.svg +++ b/svg/parts-traced/eyes/eye-8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From dd2c33ea1b1434bf50fe63422814710ec5f3496b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:56 -0700 Subject: [PATCH 1955/2079] Optimize eye-9.svg (smoother trace + SVGO) --- svg/parts-traced/eyes/eye-9.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/eyes/eye-9.svg b/svg/parts-traced/eyes/eye-9.svg index 7698fbe9..c47fec7f 100644 --- a/svg/parts-traced/eyes/eye-9.svg +++ b/svg/parts-traced/eyes/eye-9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From db935ea93ebedbb2a168c89f6734899716d0e5a2 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:57 -0700 Subject: [PATCH 1956/2079] Optimize head-0.svg (smoother trace + SVGO) --- svg/parts-traced/heads/head-0.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-0.svg b/svg/parts-traced/heads/head-0.svg index 807e552d..66d1e9de 100644 --- a/svg/parts-traced/heads/head-0.svg +++ b/svg/parts-traced/heads/head-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From e2f01b6066cd0eaddc3ec6b1bfb63b5179853dc5 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:57 -0700 Subject: [PATCH 1957/2079] Optimize head-1.svg (smoother trace + SVGO) --- svg/parts-traced/heads/head-1.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-1.svg b/svg/parts-traced/heads/head-1.svg index c6cca4c3..db17237e 100644 --- a/svg/parts-traced/heads/head-1.svg +++ b/svg/parts-traced/heads/head-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From ecfa05df49012789b340e050d6acb55398054d82 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:58 -0700 Subject: [PATCH 1958/2079] Optimize head-2.svg (smoother trace + SVGO) --- svg/parts-traced/heads/head-2.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-2.svg b/svg/parts-traced/heads/head-2.svg index f3d65ec6..eb20bc94 100644 --- a/svg/parts-traced/heads/head-2.svg +++ b/svg/parts-traced/heads/head-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 971d7a078f5317f45ad5d9744b9b40c6b21841a7 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:58 -0700 Subject: [PATCH 1959/2079] Optimize head-3.svg (smoother trace + SVGO) --- svg/parts-traced/heads/head-3.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-3.svg b/svg/parts-traced/heads/head-3.svg index 9be5c793..035771f7 100644 --- a/svg/parts-traced/heads/head-3.svg +++ b/svg/parts-traced/heads/head-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From e4c9c6ea61026c7e380afeb14497d9105175ce7f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:59 -0700 Subject: [PATCH 1960/2079] Optimize head-4.svg (smoother trace + SVGO) --- svg/parts-traced/heads/head-4.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-4.svg b/svg/parts-traced/heads/head-4.svg index 81af7a3f..6f4842e1 100644 --- a/svg/parts-traced/heads/head-4.svg +++ b/svg/parts-traced/heads/head-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 4d092fde97dea11386944a17f74c4ae0ac32601f Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:59 -0700 Subject: [PATCH 1961/2079] Optimize head-5.svg (smoother trace + SVGO) --- svg/parts-traced/heads/head-5.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-5.svg b/svg/parts-traced/heads/head-5.svg index 9d2227aa..00bbba09 100644 --- a/svg/parts-traced/heads/head-5.svg +++ b/svg/parts-traced/heads/head-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 6b4a329991c80058fa7d23ce517e7855701731e8 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:18:59 -0700 Subject: [PATCH 1962/2079] Optimize head-6.svg (smoother trace + SVGO) --- svg/parts-traced/heads/head-6.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-6.svg b/svg/parts-traced/heads/head-6.svg index ec821f1e..5796c179 100644 --- a/svg/parts-traced/heads/head-6.svg +++ b/svg/parts-traced/heads/head-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From f099d49534287be6ee08b5fd373c0830abff0a74 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:19:00 -0700 Subject: [PATCH 1963/2079] Optimize head-7.svg (smoother trace + SVGO) --- svg/parts-traced/heads/head-7.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-7.svg b/svg/parts-traced/heads/head-7.svg index 4c18f548..a52b9ff5 100644 --- a/svg/parts-traced/heads/head-7.svg +++ b/svg/parts-traced/heads/head-7.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From e4a13216f912abd39aeacbc12bb309a49243997b Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:19:00 -0700 Subject: [PATCH 1964/2079] Optimize head-8.svg (smoother trace + SVGO) --- svg/parts-traced/heads/head-8.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-8.svg b/svg/parts-traced/heads/head-8.svg index 28d151ff..4b74c735 100644 --- a/svg/parts-traced/heads/head-8.svg +++ b/svg/parts-traced/heads/head-8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 36d2adcc1b2154ecc4d6c31d8c753843b62685d4 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:19:01 -0700 Subject: [PATCH 1965/2079] Optimize head-9.svg (smoother trace + SVGO) --- svg/parts-traced/heads/head-9.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/heads/head-9.svg b/svg/parts-traced/heads/head-9.svg index b70d49cd..34b715af 100644 --- a/svg/parts-traced/heads/head-9.svg +++ b/svg/parts-traced/heads/head-9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 4a099272e4f4ca507426c9faa8060e3c78f50d09 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:19:01 -0700 Subject: [PATCH 1966/2079] Optimize mouth-0.svg (smoother trace + SVGO) --- svg/parts-traced/mouths/mouth-0.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-0.svg b/svg/parts-traced/mouths/mouth-0.svg index f899bde9..f2f49b86 100644 --- a/svg/parts-traced/mouths/mouth-0.svg +++ b/svg/parts-traced/mouths/mouth-0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From c2cee3404afccd642ba5c6578e4c6be0a4120fa3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:19:02 -0700 Subject: [PATCH 1967/2079] Optimize mouth-1.svg (smoother trace + SVGO) --- svg/parts-traced/mouths/mouth-1.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-1.svg b/svg/parts-traced/mouths/mouth-1.svg index 966fb800..492a1406 100644 --- a/svg/parts-traced/mouths/mouth-1.svg +++ b/svg/parts-traced/mouths/mouth-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 3b7ff9b4c27ef3bb80118f74f0092f3847db68cd Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:19:02 -0700 Subject: [PATCH 1968/2079] Optimize mouth-2.svg (smoother trace + SVGO) --- svg/parts-traced/mouths/mouth-2.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-2.svg b/svg/parts-traced/mouths/mouth-2.svg index 0e0ed58d..166e49df 100644 --- a/svg/parts-traced/mouths/mouth-2.svg +++ b/svg/parts-traced/mouths/mouth-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From ef4245c249e86215e602cbf095fae57b7a32e55e Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:19:02 -0700 Subject: [PATCH 1969/2079] Optimize mouth-3.svg (smoother trace + SVGO) --- svg/parts-traced/mouths/mouth-3.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-3.svg b/svg/parts-traced/mouths/mouth-3.svg index d0cddd25..7febe96b 100644 --- a/svg/parts-traced/mouths/mouth-3.svg +++ b/svg/parts-traced/mouths/mouth-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 0a66949a6aadbcf345df7ccf5b2eacf876dedf56 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:19:03 -0700 Subject: [PATCH 1970/2079] Optimize mouth-4.svg (smoother trace + SVGO) --- svg/parts-traced/mouths/mouth-4.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-4.svg b/svg/parts-traced/mouths/mouth-4.svg index 2dffdd30..79b72b1f 100644 --- a/svg/parts-traced/mouths/mouth-4.svg +++ b/svg/parts-traced/mouths/mouth-4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 9cbe16c1dbdd79a377cff3818c68178c42a3db03 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:19:03 -0700 Subject: [PATCH 1971/2079] Optimize mouth-5.svg (smoother trace + SVGO) --- svg/parts-traced/mouths/mouth-5.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-5.svg b/svg/parts-traced/mouths/mouth-5.svg index 0dcba7a6..b873b367 100644 --- a/svg/parts-traced/mouths/mouth-5.svg +++ b/svg/parts-traced/mouths/mouth-5.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 8a02e13e740d4d8640792517d21584860575f7c0 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:19:04 -0700 Subject: [PATCH 1972/2079] Optimize mouth-6.svg (smoother trace + SVGO) --- svg/parts-traced/mouths/mouth-6.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-6.svg b/svg/parts-traced/mouths/mouth-6.svg index 84942f4e..59ce5ddb 100644 --- a/svg/parts-traced/mouths/mouth-6.svg +++ b/svg/parts-traced/mouths/mouth-6.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From b0c88f25b071efb04db45cefa34fc1f26c7ab002 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:19:04 -0700 Subject: [PATCH 1973/2079] Optimize mouth-7.svg (smoother trace + SVGO) --- svg/parts-traced/mouths/mouth-7.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-7.svg b/svg/parts-traced/mouths/mouth-7.svg index e52d63c0..08008f8b 100644 --- a/svg/parts-traced/mouths/mouth-7.svg +++ b/svg/parts-traced/mouths/mouth-7.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 56342c8335f631f8aec0819d8032be14710e3b10 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:19:04 -0700 Subject: [PATCH 1974/2079] Optimize mouth-8.svg (smoother trace + SVGO) --- svg/parts-traced/mouths/mouth-8.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-8.svg b/svg/parts-traced/mouths/mouth-8.svg index 0864951f..179eaac3 100644 --- a/svg/parts-traced/mouths/mouth-8.svg +++ b/svg/parts-traced/mouths/mouth-8.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 3ec0e88b45f9f90a66dc7ebae950a82355f8962a Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:19:05 -0700 Subject: [PATCH 1975/2079] Optimize mouth-9.svg (smoother trace + SVGO) --- svg/parts-traced/mouths/mouth-9.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svg/parts-traced/mouths/mouth-9.svg b/svg/parts-traced/mouths/mouth-9.svg index 23d68f69..2192f839 100644 --- a/svg/parts-traced/mouths/mouth-9.svg +++ b/svg/parts-traced/mouths/mouth-9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From c77365f5fedc469fe632c6722cf39f959d994ff3 Mon Sep 17 00:00:00 2001 From: Rowan Brooks Date: Tue, 17 Feb 2026 15:19:05 -0700 Subject: [PATCH 1976/2079] Add build script for SVG bundle --- scripts/build-svg.js | 285 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 285 insertions(+) create mode 100644 scripts/build-svg.js diff --git a/scripts/build-svg.js b/scripts/build-svg.js new file mode 100644 index 00000000..e287cfd4 --- /dev/null +++ b/scripts/build-svg.js @@ -0,0 +1,285 @@ +#!/usr/bin/env node +/** + * Build script: reads all 50 SVG parts and outputs: + * dist/robojs-svg.js — renderer + loader (small, ~5KB) + * dist/robojs-parts.json — all 50 SVG parts data + * dist/robojs-svg.min.js — single file bundle (large, for CDN/offline) + * dist/demo.html — interactive demo + * + * Usage: node scripts/build-svg.js + */ + +import { readFileSync, writeFileSync, mkdirSync } from 'fs'; +import { join, dirname } from 'path'; +import { fileURLToPath } from 'url'; + +const __dirname = dirname(fileURLToPath(import.meta.url)); +const root = join(__dirname, '..'); +const partsDir = join(root, 'svg', 'parts-traced'); +const distDir = join(root, 'dist'); + +mkdirSync(distDir, { recursive: true }); + +const PART_TYPES = [ + { key: 'body', dir: 'bodies', prefix: 'body' }, + { key: 'head', dir: 'heads', prefix: 'head' }, + { key: 'eye', dir: 'eyes', prefix: 'eye' }, + { key: 'mouth', dir: 'mouths', prefix: 'mouth' }, + { key: 'accessory', dir: 'accessories', prefix: 'accessory' }, +]; + +function extractInner(svg) { + svg = svg.replace(/<\?xml[^?]*\?>\s*/g, ''); + const match = svg.match(/]*>([\s\S]*)<\/svg>/); + return match ? match[1].trim() : svg; +} + +// Read all parts +const parts = {}; +for (const { key, dir, prefix } of PART_TYPES) { + parts[key] = []; + for (let i = 0; i < 10; i++) { + const file = join(partsDir, dir, `${prefix}-${i}.svg`); + const raw = readFileSync(file, 'utf-8'); + parts[key].push(extractInner(raw)); + } +} + +// Write parts JSON +writeFileSync(join(distDir, 'robojs-parts.json'), JSON.stringify(parts)); +console.log('Built dist/robojs-parts.json (' + (Buffer.byteLength(JSON.stringify(parts)) / 1024).toFixed(1) + ' KB)'); + +// Update demo.html +const demoHtml = ` + + + RoboJS SVG Demo + + + +

🤖 RoboJS SVG

+

One script, deterministic robot avatars. Type anything:

+ +
+

Gallery

+ + + + + +`; + +writeFileSync(join(distDir, 'demo.html'), demoHtml); + +// Renderer JS — UMD for browser then RoboJS.init().then(() => { div.innerHTML = RoboJS.renderSvg("name"); }) +// Usage (Node): const RoboJS = require('./robojs-svg.js'); await RoboJS.init('./robojs-parts.json'); RoboJS.renderSvg("name"); +(function(root, factory) { + if (typeof define === "function" && define.amd) define([], factory); + else if (typeof module === "object" && module.exports) module.exports = factory(); + else root.RoboJS = factory(); +}(typeof self !== "undefined" ? self : this, function() { +"use strict"; + +function md5(str) { + function safeAdd(x, y) { var lsw = (x & 0xffff) + (y & 0xffff); return (((x >> 16) + (y >> 16) + (lsw >> 16)) << 16) | (lsw & 0xffff); } + function bitRotateLeft(num, cnt) { return (num << cnt) | (num >>> (32 - cnt)); } + function md5cmn(q, a, b, x, s, t) { return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b); } + function md5ff(a, b, c, d, x, s, t) { return md5cmn((b & c) | (~b & d), a, b, x, s, t); } + function md5gg(a, b, c, d, x, s, t) { return md5cmn((b & d) | (c & ~d), a, b, x, s, t); } + function md5hh(a, b, c, d, x, s, t) { return md5cmn(b ^ c ^ d, a, b, x, s, t); } + function md5ii(a, b, c, d, x, s, t) { return md5cmn(c ^ (b | ~d), a, b, x, s, t); } + function binlMD5(x, len) { + x[len >> 5] |= 0x80 << (len % 32); + x[((len + 64) >>> 9 << 4) + 14] = len; + var a = 1732584193, b = -271733879, c = -1732584194, d = 271733878; + for (var i = 0; i < x.length; i += 16) { + var oa = a, ob = b, oc = c, od = d; + a = md5ff(a, b, c, d, x[i], 7, -680876936); d = md5ff(d, a, b, c, x[i+1], 12, -389564586); + c = md5ff(c, d, a, b, x[i+2], 17, 606105819); b = md5ff(b, c, d, a, x[i+3], 22, -1044525330); + a = md5ff(a, b, c, d, x[i+4], 7, -176418897); d = md5ff(d, a, b, c, x[i+5], 12, 1200080426); + c = md5ff(c, d, a, b, x[i+6], 17, -1473231341); b = md5ff(b, c, d, a, x[i+7], 22, -45705983); + a = md5ff(a, b, c, d, x[i+8], 7, 1770035416); d = md5ff(d, a, b, c, x[i+9], 12, -1958414417); + c = md5ff(c, d, a, b, x[i+10], 17, -42063); b = md5ff(b, c, d, a, x[i+11], 22, -1990404162); + a = md5ff(a, b, c, d, x[i+12], 7, 1804603682); d = md5ff(d, a, b, c, x[i+13], 12, -40341101); + c = md5ff(c, d, a, b, x[i+14], 17, -1502002290); b = md5ff(b, c, d, a, x[i+15], 22, 1236535329); + a = md5gg(a, b, c, d, x[i+1], 5, -165796510); d = md5gg(d, a, b, c, x[i+6], 9, -1069501632); + c = md5gg(c, d, a, b, x[i+11], 14, 643717713); b = md5gg(b, c, d, a, x[i], 20, -373897302); + a = md5gg(a, b, c, d, x[i+5], 5, -701558691); d = md5gg(d, a, b, c, x[i+10], 9, 38016083); + c = md5gg(c, d, a, b, x[i+15], 14, -660478335); b = md5gg(b, c, d, a, x[i+4], 20, -405537848); + a = md5gg(a, b, c, d, x[i+9], 5, 568446438); d = md5gg(d, a, b, c, x[i+14], 9, -1019803690); + c = md5gg(c, d, a, b, x[i+3], 14, -187363961); b = md5gg(b, c, d, a, x[i+8], 20, 1163531501); + a = md5gg(a, b, c, d, x[i+13], 5, -1444681467); d = md5gg(d, a, b, c, x[i+2], 9, -51403784); + c = md5gg(c, d, a, b, x[i+7], 14, 1735328473); b = md5gg(b, c, d, a, x[i+12], 20, -1926607734); + a = md5hh(a, b, c, d, x[i+5], 4, -378558); d = md5hh(d, a, b, c, x[i+8], 11, -2022574463); + c = md5hh(c, d, a, b, x[i+11], 16, 1839030562); b = md5hh(b, c, d, a, x[i+14], 23, -35309556); + a = md5hh(a, b, c, d, x[i+1], 4, -1530992060); d = md5hh(d, a, b, c, x[i+4], 11, 1272893353); + c = md5hh(c, d, a, b, x[i+7], 16, -155497632); b = md5hh(b, c, d, a, x[i+10], 23, -1094730640); + a = md5hh(a, b, c, d, x[i+13], 4, 681279174); d = md5hh(d, a, b, c, x[i], 11, -358537222); + c = md5hh(c, d, a, b, x[i+3], 16, -722521979); b = md5hh(b, c, d, a, x[i+6], 23, 76029189); + a = md5hh(a, b, c, d, x[i+9], 4, -640364487); d = md5hh(d, a, b, c, x[i+12], 11, -421815835); + c = md5hh(c, d, a, b, x[i+15], 16, 530742520); b = md5hh(b, c, d, a, x[i+2], 23, -995338651); + a = md5ii(a, b, c, d, x[i], 6, -198630844); d = md5ii(d, a, b, c, x[i+7], 10, 1126891415); + c = md5ii(c, d, a, b, x[i+14], 15, -1416354905); b = md5ii(b, c, d, a, x[i+5], 21, -57434055); + a = md5ii(a, b, c, d, x[i+12], 6, 1700485571); d = md5ii(d, a, b, c, x[i+3], 10, -1894986606); + c = md5ii(c, d, a, b, x[i+10], 15, -1051523); b = md5ii(b, c, d, a, x[i+1], 21, -2054922799); + a = md5ii(a, b, c, d, x[i+8], 6, 1873313359); d = md5ii(d, a, b, c, x[i+15], 10, -30611744); + c = md5ii(c, d, a, b, x[i+6], 15, -1560198380); b = md5ii(b, c, d, a, x[i+13], 21, 1309151649); + a = md5ii(a, b, c, d, x[i+4], 6, -145523070); d = md5ii(d, a, b, c, x[i+11], 10, -1120210379); + c = md5ii(c, d, a, b, x[i+2], 15, 718787259); b = md5ii(b, c, d, a, x[i+9], 21, -343485551); + a = safeAdd(a, oa); b = safeAdd(b, ob); c = safeAdd(c, oc); d = safeAdd(d, od); + } + return [a, b, c, d]; + } + function rstrMD5(s) { + var bin = binlMD5(str2binl(s), s.length * 8); + var out = ""; + for (var i = 0; i < bin.length * 32; i += 8) out += String.fromCharCode((bin[i >> 5] >>> (i % 32)) & 0xff); + return out; + } + function str2binl(str) { + var bin = []; + for (var i = 0; i < str.length * 8; i += 8) bin[i >> 5] |= (str.charCodeAt(i / 8) & 0xff) << (i % 32); + return bin; + } + function rstr2hex(input) { + var hex = "0123456789abcdef", output = ""; + for (var i = 0; i < input.length; i++) { var x = input.charCodeAt(i); output += hex.charAt((x >>> 4) & 0x0f) + hex.charAt(x & 0x0f); } + return output; + } + function rstrMD5str(s) { + var utf8 = unescape(encodeURIComponent(s)); + return rstr2hex(rstrMD5(utf8)); + } + return rstrMD5str(str); +} + +var COLORS = [ + {h:198,s:75,l:51},{h:26,s:40,l:39},{h:129,s:53,l:46},{h:216,s:3,l:66},{h:32,s:92,l:54}, + {h:331,s:100,l:64},{h:301,s:57,l:36},{h:358,s:85,l:52},{h:240,s:4,l:95},{h:56,s:94,l:58} +]; +var SOURCE_HUES = {body:129,head:129,eye:198,mouth:198,accessory:198}; +var PARTS = null; + +function hexToBytes(hex) { + var bytes = []; + for (var i = 0; i < hex.length; i += 2) bytes.push(parseInt(hex.substring(i, i + 2), 16)); + return bytes; +} + +function getBuckets(hash) { + var clean = hash.replace(/-/g, ""); + var bytes = hexToBytes(clean); + var buckets = []; + for (var i = 0; i < bytes.length; i += 2) buckets.push(((bytes[i] << 8) + bytes[i + 1]) % 10); + return buckets; +} + +function renderBuckets(buckets) { + if (!PARTS) throw new Error("RoboJS: call init() first or pass parts to setParts()"); + var bodyIdx = buckets[0], headIdx = buckets[1], eyeIdx = buckets[2]; + var mouthIdx = buckets[3], accIdx = buckets[4]; + var bhColor = buckets[5], emColor = buckets[6], accColor = buckets[7]; + var bhHue = (COLORS[bhColor] || COLORS[0]).h; + var emHue = (COLORS[emColor] || COLORS[0]).h; + var accHue = (COLORS[accColor] || COLORS[0]).h; + var fid = 0; + function hf(src, tgt) { + var id = "hue" + (fid++); + return { id: id, def: '' }; + } + var bf = hf(SOURCE_HUES.body, bhHue), hef = hf(SOURCE_HUES.head, bhHue); + var ef = hf(SOURCE_HUES.eye, emHue), mf = hf(SOURCE_HUES.mouth, emHue); + var af = hf(SOURCE_HUES.accessory, accHue); + var defs = "" + bf.def + hef.def + ef.def + mf.def + af.def + ""; + var layers = [ + [PARTS.body[bodyIdx], bf.id], [PARTS.head[headIdx], hef.id], + [PARTS.mouth[mouthIdx], mf.id], [PARTS.eye[eyeIdx], ef.id], + [PARTS.accessory[accIdx], af.id] + ]; + var inner = ""; + for (var i = 0; i < layers.length; i++) { + if (layers[i][0]) inner += '' + layers[i][0] + ""; + } + return '' + defs + inner + ""; +} + +function renderSvgHash(hash) { + if (!hash || hash.length < 32) hash = md5(hash || ""); + return renderBuckets(getBuckets(hash)); +} + +function renderSvg(input) { + return renderBuckets(getBuckets(md5(input || ""))); +} + +function setParts(p) { PARTS = p; } + +function init(partsUrl) { + if (PARTS) return Promise.resolve(); + if (!partsUrl) partsUrl = "robojs-parts.json"; + if (typeof process !== "undefined" && typeof require !== "undefined") { + // Node.js — use fs + var fs = require("fs"); + var path = require("path"); + var resolved = path.resolve(partsUrl); + PARTS = JSON.parse(fs.readFileSync(resolved, "utf-8")); + return Promise.resolve(); + } else if (typeof fetch !== "undefined") { + return fetch(partsUrl).then(function(r) { return r.json(); }).then(function(p) { PARTS = p; }); + } + return Promise.reject(new Error("Cannot load parts: no fetch or require")); +} + +return { + init: init, + setParts: setParts, + renderSvg: renderSvg, + renderSvgHash: renderSvgHash, + renderBuckets: renderBuckets, + getBuckets: getBuckets, + COLORS: COLORS, + md5: md5 +}; + +})); +`; + +// Write as .cjs (works in Node with "type":"module" packages + browser