Skip to content

Commit cdcd978

Browse files
Harden Posecode motion for launch (#76)
1 parent da76b7a commit cdcd978

180 files changed

Lines changed: 5580 additions & 6830 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/heroic-owls-land.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
"posecode-parser": patch
3+
"posecode-render": patch
4+
"posecode-mcp": patch
5+
---
6+
7+
Strengthen Posecode motion authoring and playback with strict contact validation, grounded multi-contact solving, continuous sparse transitions, and more lifelike canonical movement guidance.

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,7 @@ It explains biomechanical problems in natural language and proposes specific rev
426426
| Package | Purpose |
427427
| --- | --- |
428428
| [`posecode-language`](packages/posecode-language) | Language definitions and editor support |
429-
| [`posecode-parser`](packages/posecode-parser) | Converts `.posecode` text into validated, ROM-constrained intermediate representation |
429+
| [`posecode-parser`](packages/posecode-parser) | Converts `.posecode` text into a validated, range-constrained intermediate representation |
430430
| [`posecode-render`](packages/posecode-render) | Renders animated figures with Three.js, forward kinematics, and IK |
431431
| [`posecode-share`](packages/posecode-share) | Encodes Posecode documents into URL-safe share tokens |
432432
| [`posecode-mcp`](packages/posecode-mcp) | Exposes Posecode capabilities to AI agents through MCP |
@@ -482,7 +482,7 @@ Posecode currently focuses on:
482482
The following are outside the current scope:
483483

484484
- two-person or partner motion,
485-
- collision detection,
485+
- comprehensive collision detection and rigid-body dynamics,
486486
- detailed object physics,
487487
- advanced equipment simulation,
488488
- multi-joint finger animation,

ROADMAP.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
# Posecode: domains & roadmap
22

3-
Posecode's vision is broad: **describe any single-person movement as text and render it
4-
safely in 3D.** The *protocol* is general; the *current renderer* is deliberately
5-
scoped (one figure, forward kinematics, ground-locked hands/feet, no props). This
3+
Posecode's vision is broad: **describe single-person movement as text and render it
4+
as inspectable 3D motion.** The *protocol* is general; the *current renderer* is deliberately
5+
scoped to one simplified figure with forward kinematics, constrained contacts,
6+
starter props, and no rigid-body dynamics. This
67
doc maps the domains Posecode can serve, what already works, and what each remaining
78
domain needs, so contributions land where they unlock the most.
89

910
## Where Posecode fits
1011

1112
| Domain | Example uses | Status |
1213
| --- | --- | --- |
13-
| **Physiotherapy / rehab** | Range-of-motion demos, home-exercise programs, post-op protocols, cervical/shoulder mobility | Strong fit today: the ROM safety clamp is a clinical feature. Many moves render now; equipment (bands, balls) is future. |
14-
| **Ergonomics / desk & posture** | Posture resets, seated/standing stretch breaks, "do this every hour" prompts | Works today for standing variants; true *seated* needs a chair prop (below). |
15-
| **Yoga & mobility** | Standing poses (chair, side bend, twist), flows, mobility drills | Standing poses work; floor/inversion/lying poses need lying base poses + a mat. |
14+
| **Physiotherapy / rehab** | Range-of-motion demos, home-exercise programs, post-op protocols, cervical/shoulder mobility | Useful for reviewed visualization: ROM constraints and diagnostics are explicit. Clinical use still requires qualified review; bands and balls are future. |
15+
| **Ergonomics / desk & posture** | Posture resets, seated/standing stretch breaks, "do this every hour" prompts | Standing and floor-seated variants work; chair-seated motion needs a dedicated base pose. |
16+
| **Yoga & mobility** | Standing poses (chair, side bend, twist), flows, mobility drills | Standing and basic supine/prone/long-seated poses work; inversions and detailed mat contacts remain limited. |
1617
| **Movement education / anatomy** | Demonstrate joint actions ("what is shoulder abduction?"), biomechanics teaching | Excellent fit: single-joint demos are exactly what the rig does. |
1718
| **Fitness / strength** | Body-weight and free-form movement coaching | Core today (squat, curl, raise). Barbell/dumbbell/machine work needs props + grip. |
1819
| **Functional / elderly care** | Sit-to-stand, balance, gentle ROM, fall-prevention drills | Partial: sit-to-stand works; reaching/balance need reach-IK + props. |

docs/market-research.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,18 @@
88
## 1. The thesis
99

1010
Posecode is **"Mermaid for human movement."** A person describes a movement in
11-
words; an LLM writes a short `.posecode` document; the browser parses it, clamps it
12-
to a safe range of motion, and renders an animated 3D mannequin, producing a
11+
words; an LLM writes a short `.posecode` document; the browser validates it,
12+
constrains joint targets to configured ranges, and renders an animated 3D mannequin, producing a
1313
**shareable URL**. The loop is:
1414

1515
> **ask an LLM for a movement → it renders → share the link.**
1616
1717
This is structurally different from video. A `.posecode` doc is **editable text**:
1818
an LLM can generate it, a human can tweak one angle, a clinician can fork it, and
19-
it diffs in version control. Diffusion/video models hallucinate anatomy and can't
20-
be safely constrained; Posecode's ROM clamp is a *correctness* feature, not a filter.
21-
Text is also how LLMs natively "think" about structure, so authoring is reliable
22-
and improves as models improve.
19+
it diffs in version control. Posecode exposes the authored anatomy and constraints
20+
for inspection instead of hiding them in a generated trajectory. Range constraints
21+
are one correctness layer, not a certification of the complete movement. Text also
22+
gives LLMs a structured target that can be parsed, evaluated, and revised.
2323

2424
### Why it can spread
2525

@@ -30,8 +30,9 @@ and improves as models improve.
3030
- **Agent-native.** The [`posecode-mcp`](../packages/posecode-mcp) server lets Claude/
3131
ChatGPT author, validate, and return a render link *inside the chat*: the
3232
movement appears where the user already is.
33-
- **Safe to trust.** Clinical ROM limits mean shared links can't depict unsafe
34-
joint angles: important for the health-adjacent buyers below.
33+
- **Inspectable constraints.** Configured ROM limits prevent impossible authored
34+
joint rotations, while contact residuals and movement checks expose failures.
35+
Health-adjacent uses still require qualified review.
3536

3637
## 2. How we scored the domains
3738

@@ -67,14 +68,14 @@ on the roadmap.
6768

6869
- **Customer:** physios, chiros, athletic trainers, and their patients running
6970
home-exercise programs; post-op ROM protocols.
70-
- **Aha use case:** a clinician types a prescription and hands the patient a link
71-
that *shows* the exercise, with a built-in safe-range guarantee.
71+
- **Aha use case:** a clinician authors or reviews a movement and hands the patient
72+
a link that *shows* it, with explicit joint targets and validation diagnostics.
7273
- **Viral loop:** clinician → patient link sharing is high-frequency and trusted;
7374
patients forward to family; clinics build reusable libraries.
7475
- **Ships:** `heel-raises`, `standing-hamstring-curl`, `hip-abduction`,
7576
`good-morning` (back-health hinge), plus existing `neck-rotation`,
7677
`shoulder-stretch`.
77-
- **Engine-fit:** ★★★★☆, the ROM clamp is a clinical feature; bands/balls and
78+
- **Engine-fit:** ★★★★☆, range constraints support review; bands/balls and
7879
lying poses are future (see roadmap).
7980

8081
### 3c. Desk & workplace wellness

packages/posecode-embed/test/compat.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const SPORTS_MOVE = `posecode exercise "Crossover"
1010
knees: flex 68
1111
ground-lock: feet
1212
step "Cross" 0.22s drive:
13-
pelvis: rotate-out 14
13+
turn: -14
1414
travel: -0.18 0
1515
ground-lock: feet
1616
repeat 2

0 commit comments

Comments
 (0)