Skip to content

Commit 0dbc1ae

Browse files
committed
feat: swap the figure to the Mixamo anatomical mannequin
Replace Michelle with the anatomical mannequin character (owner-exported Mixamo FBX): neutral, unclothed anatomy with visible musculature suits the physio/fitness content better than a fashion character, and the optimized GLB is 702KB vs 2.2MB (35MB source FBX -> FBX2glTF -> WebP textures + quantization + stripped animations). - character.ts: tolerate numbered Mixamo namespaces (mixamorig1:...) emitted by direct Mixamo exports. - Regenerate all four README GIFs with the new figure. - README: update the character attribution. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0155HaTaobTF48hVWvJwhj8h
1 parent aebd021 commit 0dbc1ae

7 files changed

Lines changed: 7 additions & 3 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ Two safety layers ship with the language:
124124
The protocol and both libraries are **MIT-licensed**: the open core. See [`spec/SPEC.md`](spec/SPEC.md) for the full language and [`spec/llm-authoring.md`](spec/llm-authoring.md) for the authoring prompt.
125125
For where Posecode spreads fastest and the per-domain go-to-market plan, see [`docs/market-research.md`](docs/market-research.md); for the engine roadmap, [`ROADMAP.md`](ROADMAP.md).
126126

127-
The realistic 3D character ("Michelle") is an [Adobe Mixamo](https://www.mixamo.com) asset, distributed with the [three.js examples](https://github.com/mrdoob/three.js/tree/dev/examples/models/gltf) and used here under the Mixamo license (royalty-free in projects). The renderer also ships a zero-asset procedural figure, used automatically wherever the character can't load.
127+
The 3D figure is the [Adobe Mixamo](https://www.mixamo.com) anatomical mannequin character, exported from Mixamo and used under the Mixamo license (royalty-free in projects). The renderer also ships a zero-asset procedural figure, used automatically wherever the character can't load — and it accepts any Mixamo-rigged GLB via `characterUrl`.
128128

129129
---
130130

docs/media/deadlift.gif

49 KB
Loading

docs/media/jumping-jacks.gif

41.2 KB
Loading

docs/media/lateral-raise.gif

51.7 KB
Loading

docs/media/squat.gif

103 KB
Loading

packages/posecode-render/src/character.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,13 @@ const Y_UP = new THREE.Vector3(0, 1, 0);
7979
const Y_DOWN = new THREE.Vector3(0, -1, 0);
8080
const Z_FWD = new THREE.Vector3(0, 0, 1);
8181

82-
/** Strip the mixamo namespace: "mixamorig:LeftArm"/"mixamorigLeftArm" → "LeftArm". */
82+
/**
83+
* Strip the mixamo namespace: "mixamorig:LeftArm", "mixamorigLeftArm", and
84+
* numbered re-exports like "mixamorig1:LeftArm" all → "LeftArm". (Colons are
85+
* already removed by GLTFLoader's name sanitizer at runtime.)
86+
*/
8387
function plainName(name: string): string {
84-
return name.replace(/^mixamorig:?/i, "");
88+
return name.replace(/^mixamorig\d*:?/i, "");
8589
}
8690

8791
interface MappedBone {
-1.4 MB
Binary file not shown.

0 commit comments

Comments
 (0)