← the lab · the atelier

Sheet 20 · web · 3D motion

Prop Theory

A tree of poi moves, each linked to what it builds on, and a 3D engine that draws a move on a body. Live at proptheory.org, with one move so far.

Question

What it builds onthe moves to learn firstA movean explanation and, wherepossible, an animation on a 3DbodyWhat it opensthe moves that build on thisoneFour settingsplane (wall, wheel, floor),timing and direction of thehands, spin direction, spintypefirst this, then thisWhat itbuilds onthe moves tolearn firstA movean explanationand, wherepossible, ananimation on a3D bodyWhat it opensthe moves thatbuild on thisoneFour settingsplane (wall,wheel, floor),timing anddirection ofthe hands, spindirection, spintypefirst this,then this
FIG. 1Each move sits in a tree. How Prop Theory links moves: the path a learner walks, and the four settings spinners already use to describe any move.
Source: Prop Theory sheet, Question and Approach

Can poi moves live in one shared reference, where each move shows what to learn before it and can be watched on a 3D body?

Poi are weights on cords, spun around the body; spinning them is one of the flow arts. Flow arts has no anthology or shared database of moves, and I think it should have one. When I teach, I start with the fundamentals, then the next step. I try to practise the same way, but on my own that path is hard to see and to follow. I wanted a wiki people could learn from, with a 3D studio where they could watch each move and maybe design new ones. Animating every move by hand takes a lot of work, so I also started on tracking poi in video.

Prop Theory is that reference.

Approach

live engine30 of 60 cleanno warning for the whole loopa warning somewhere: arms, body or cordslive engine30 of 60 cleanno warning for the whole loopa warning somewhere: arms, body or cords
FIG. 2The body check: 60 combinations, one full loop each. A script spins every default setting combination for a full loop and counts the ones with no warning. The squares are a count, not a map of which combination passed.
Source: Prop Theory sheet, Approach and Results; tests/body_report.mjs re-run 2026-11-05 (sources.md)

To draw moves, I wrote a small 3D engine that solves a stick figure's arms backwards from where the hands need to be. Nothing may pass through anything, so the engine checks arms, body and cords and warns in a spinner's words, like "elbow too bent".

Results

The best score came from a body with natural elbow limits, but on screen its elbows seemed to bend backwards in relaxed-arm moves, which an automated visual check had missed. I went back to the first figure. Letting each spin come from the wrist, elbow or shoulder, and sizing the body to scale, is what lifted it.

Animation is the slow part, so I tried taking motion from a video of me spinning a weave. Filmed from the side, the poi cross straight toward the camera, and no pose model I tried recovered that. Fitting ideal circles to the tracks failed too. Video now only pre-fills the animation editor for a person to check; finding the poi heads is a sister project, Poi head detection.

What I learned

160 moves in the first importOctober 2026155 older records in an archiveto return one at a time1 live movea beginner wall plane spin, 8 variants0 saved animationsthe engine can draw; nothing is drawn yet160 moves in the first importOctober 2026155 older records in an archiveto return one at a time1 live movea beginner wall plane spin, 8 variants0 saved animationsthe engine can draw; nothing is drawn yet
FIG. 3The content behind the engine. Where the move records stand: the engine runs ahead of the content.
Source: Prop Theory sheet, Results; project.json timeline (2026-10-11 import)

My score was not enough on its own: the best number belonged to the version a spinner could see was wrong. The code also ran ahead of the content. The engine can draw a move, but every move stays a draft until a teacher checks it.

Open questions

  • For an animator: solving the arm backwards gives an elbow that can reach, not one that looks natural. Should I learn elbow limits from real video, or would a few simple rules do?
  • For someone who has run a community reference: how do I get teachers to review moves without lowering the bar?

← Poi head detection · all lab sheets · Referee model race →