SEE LAB

Dance in its World: Methods

SEE Lab · Methods · Companion to a field note

A processed, stage-by-stage account of the de-identified humanoid pipeline behind the Ekombi build. The narrative version reads it as a story. This version shows the work, with the formats, the transforms, the equations the pipeline actually runs, and a clear label on every claim.

REALDERIVEDGENERATEDFORTHCOMINGEach claim below carries one of these. Real is in the repository, derived is computed from the captured signal, generated is a model output, and forthcoming is an intended method that is described and not yet built.

Sinclair Ogaga Emoghene

Director & Lead PI, SEE Lab · June 2026

1 · Problem statement

What the pipeline has to produce.

The task is the following. Given a motion-capture recording of a culturally specific dance, produce a costumed, world-situated embodiment of that recording that satisfies four constraints at once. The first is fidelity: the movement signal is preserved exactly, and nothing downstream alters the recorded motion. The second is de-identification: the embodiment carries no individual identity. The third is portability: the result renders in a browser. The fourth is provenance: every element that is generated rather than recorded is labeled as generated and is never presented as documentary fact.

De-identification is treated here as a design constraint with a precise definition. A de-identified embodiment contains no scan of a real body, no facial geometry tied to a person, and no biometric measurement. The body that carries the motion is parametric, which means it is generated from a set of numerical parameters rather than measured from anyone. The rest of this account is organized around how each stage either honors that constraint or marks where the work to honor it fully is still ahead.

2 · Input data — the motion capture

The recorded signal.

The recording is cataloged in the platform manifest as an Efik Ekombi capture performed by Sinclair, under the Atomic Confluences identifier ACF-0003.01, with its source format recorded as FBX.1 REAL The form the build actually processes is a derived JSON time series, and that is the file the rest of the pipeline reads.2 REAL Its specification is below.

formatJSON time series (derived from the cataloged FBX capture)
joints22 named joints (hips, spine, … rightToe)
frames4,743
frame rate30 fps
per frame22 joints × 3 = 66 floats (x, y, z positions, meters)
orientationY-up (three.js convention)
connections21 parent/child bone pairs (the kinematic tree)

The capture convention upstream of this file is the MediaPipe thirty-three-landmark full-body pose, which the platform normalizes and reduces to its stored joint skeleton, and in that reduction the face landmarks around the eyes, ears, and mouth are intentionally dropped.3 REAL Dropping the face at capture is the first de-identification step, and it happens before any body is ever drawn.

The stored skeleton is a kinematic tree. Each joint is a node with a parent, and each joint holds a local transform relative to that parent, while the root joint carries the global translation of the whole body through space. Posing the figure for a given frame is forward kinematics, which computes a joint’s placement in the world by composing the transforms along the path from the root down to that joint.

Tjworld = Troot · T1 · T2 · … · Tjlocal    pj = Tjworld · o
A joint’s world transform is the ordered product of every transform from the root down to it. The platform’s Blender step builds this by aiming each bone at its child, parent first, which is forward kinematics applied frame by frame. DERIVED

One note on the signal. The JSON stores joint positions, and the animation rig reconstructs joint rotations from those positions by aiming each bone down the chain. The recorded quantity is therefore position, and orientation is derived. The repository also carries a general conversion path for the cataloged formats, a Blender script that imports an FBX file and exports a BVH hierarchy, where the BVH form keeps the skeleton hierarchy and the per-frame rotations and discards the mesh and skin of the original.4 REAL For the Ekombi recording specifically, only the JSON form is present in the repository, so the methods here describe the JSON path that produced the figures.

The orientation convention is worth stating because it recurs in every export. The data is Y-up. The Blender step maps each point from (x, y, z) to (x, −z, y) so that Blender’s Z-up world, exported back with the glTF Y-up option, returns the original orientation the studio expects. REAL

3 · The body-representation ladder

One motion, five readings.

The same recording is carried by five increasingly embodied representations. Each is a real asset in the repository and an output of its own Blender script, and each preserves the motion while changing what surface the motion wears. The screenshots below are renders of those exact assets.

Skeleton: Joint spheres and bone capsules placed by forward kinematics. No surface.

1. Skeleton

joints + bones

Joint spheres and bone capsules placed by forward kinematics. No surface.

DERIVED
Mannequin: Spheres and cylinders bound to bones. Volume, but visible seams and no continuous deformation.

2. Mannequin

primitive volumes

Spheres and cylinders bound to bones. Volume, but visible seams and no continuous deformation.

DERIVED
Skinned: A single mesh with vertex weights to the skeleton. Linear blend skinning. Featureless head.

3. Skinned

one continuous mesh

A single mesh with vertex weights to the skeleton. Linear blend skinning. Featureless head.

DERIVED
Anatomical: Parametric human (CC0), generated from morph parameters. Helper proxies stripped, head neutralized to a featureless form. Driving it with the motion is forthcoming.

4. Anatomical

MakeHuman / MPFB

Parametric human (CC0), generated from morph parameters. Helper proxies stripped, head neutralized to a featureless form. Driving it with the motion is forthcoming.

GENERATED
Costumed: The skinned body dressed in modeled, weighted Ekombi regalia. Rigid weighted geometry.

5. Costumed

regalia bound to the chain

The skinned body dressed in modeled, weighted Ekombi regalia. Rigid weighted geometry.

REAL

The skeleton is the joint set placed by forward kinematics, drawn as spheres at the joints and capsules along the bones, with no surface. The mannequin parents primitive volumes to the bones, so it inherits each bone’s transform and gains volume, but the volumes meet in visible seams and do not deform continuously. The skinned surface replaces those parts with a single continuous mesh whose vertices are weighted to the skeleton, and that is where real skinning mathematics enters.

Skinning is the standard method by which a single mesh follows a skeleton, often called linear blend skinning. Every vertex is assigned a small set of influencing bones with weights that sum to one, and the deformed position of a vertex is the weighted sum of where each influencing bone would carry it from rest. This is the deformation the glTF skin encodes and the browser plays back.5 REAL

v′ = Σi wi · Mi · Mirest−1· v ,    Σi wi = 1
The skinned vertex v′ is a weighted blend over its influencing bones i. Mi is bone i’s current world transform, Mirest−1 undoes its rest pose, and the weights wisum to one. In the Ekombi build the weights are assigned by Blender’s automatic skinning and exported with the glTF skin.

The anatomical representation is generated by MakeHuman through its Blender successor MPFB, which produces a parametric human whose output is released under the CC0 public-domain dedication.6 GENERATEDParametric means the body is a fixed base topology deformed by a set of scalar parameters, the morph targets, so the figure is a point in a parameter space rather than a measurement of anyone. This is the load-bearing claim of the whole pipeline, and it is developed formally in the next section. The export is reduced to the body mesh alone, with the toolkit’s fitting-cage proxies removed by selecting the body vertex group and deleting the rest, and the head is then neutralized to a featureless form, so the figure is recognizably a human body and no individual’s likeness.REAL Driving it with the recorded motion, by retargeting, is the step still ahead for this rung. FORTHCOMING

The costumed figure is the skinned body dressed in the modeled Ekombi regalia, which is the subject of the arteme section below. Across all five rungs the motion is the one constant, and what changes is only the surface that wears it.

4 · De-identification, stated formally

Identity removed by construction.

The pipeline never contains a biometric of a real person. The movement is a sequence of joint coordinates, which is kinematic information about how a body moved and not a measurement that identifies whose body it was. The body that carries the movement is parametric, which makes it a vector in a morph-parameter space rather than a scan. The face, which is the part of the body most capable of recognition, is dropped at capture and absent from the procedural body. Each of those three properties is a guarantee about what the data is, rather than a filter applied after the fact.

Anonymization

Starts from a real identity and degrades it. A real face is recorded, then blurred, masked, or pixelated. The identity was present and is being hidden, so the strength of the protection depends on how well the degradation resists recovery.

By construction (this pipeline)

Never instantiates an identity. The body is generated from parameters, the face is never captured into geometry, and the motion is coordinates. There is no identity present to recover, so there is nothing to degrade. REAL

This is the same ethic that governs the facial primitive in the wider grammar, the opseme, which is built for the preservation of trained facial movement and explicitly not for the identification of persons. Here that ethic is stated as a property of the data. The procedural skinned and costumed bodies carry a featureless head by construction, and the anatomical MakeHuman rung is now reduced to its body mesh with its head neutralized to a featureless form as well, so the by-construction guarantee holds across the bodies alike. REAL What remains ahead for the anatomical rung is driving it with the recorded motion. FORTHCOMING

5 · Costume and extension modeling — the arteme layer

Regalia bound to the kinematic chain.

The arteme is the material-cultural layer the body wears, and in computational terms it is deformable geometry bound to the same skeleton that carries the motion. The Ekombi regalia was modeled in Blender as separate mesh objects, one per element, and every element was weighted to the bone-aim armature so that it inherits the motion of the limb it sits on. REAL The modeled elements are a fitted blouse with short sleeve caps, a draped wrapper gathered at a beaded waistband, the banded raffia cuffs at the arms and the calves, a neck collar, beads at the waist and the wrists and the ankles, and a stacked crown.

The limit here is the deformation model. The regalia is rigid weighted geometry, which means it follows the bones through skinning but does not yet simulate cloth, so the wrapper swings with the leg rather than settling and folding as fabric would under gravity and contact. Cloth simulation for the regalia is the intended next step. FORTHCOMING

The modeled Ekombi regalia on a neutral de-identified figure: blouse, draped wrapper with beaded waistband, raffia cuffs, neck collar, wrist and ankle beads, and a stacked crown.
The regalia, modeled and weighted, on the neutral de-identified body. REAL

6 · World generation — the tereme and scapeme layer

A generated world, and a real-data seam.

The environment the dance stands in is produced by World Labs through its Marble world model, which generates a persistent three-dimensional scene from a text prompt. For the Ekombi build a scene was generated on the twenty-fourth of June 2026 under the model marble-1.1, and its operation and world identifiers, along with the returned assets, are archived in the repository.7 GENERATED The returned assets are gaussian-splat files at several densities, a collider mesh as a glTF binary, and an equirectangular panorama, and the scene carries a metric scale factor and a ground-plane offset for compositing a figure into it at the right size.

modelmarble-1.1 (World Labs Marble)
operation id452c8d64-051a-44fa-8c79-e1877a65d214
world id4863e38e-2f36-410c-8c46-2be9d4f32434
assetsgaussian splats (.spz), collider mesh (.glb), panorama (.png)
metric_scale_factor2.4312277
ground_plane_offset1.4825727
generated2026-06-24

In the current browser cut the panorama is used as an equirectangular backdrop behind the figure, which is why the viewer’s In World mode maps that image onto the scene environment. Walking inside the world as a navigable space, using those gaussian splats, now runs live below: the scene is rendered in the browser on our own pipeline through Spark, World Labs’ open-source splat renderer, so the world stays on our site with no jump out. GENERATEDA second generation path, Higgsfield, is wired into the platform for fast look generation from a prompt that names a real place’s character rather than its coordinates, and it is available to the pipeline, though no Higgsfield image was produced for this particular build. FORTHCOMING

Kept deliberately separate from the generated world is a real-data seam. NASA’s Global Imagery Browse Services serve open, public-domain satellite imagery through a tiled web map service, and a MODIS true-color tile over the Cross River region of southeastern Nigeria, the region Ekombi comes from, was retrieved and saved as a layer in the build.8 REAL The service needs no key. The reason the two are kept apart is a matter of epistemics. The generated world is an experience, and it is never presented as the documented shrine, while the satellite layer is observed ground truth about the actual coastline and vegetation of the region. The first is labeled generated and the second is labeled observed, and they are never blended into a single image that would blur which is which.

The World Labs generated Cross River water-shrine used as the environment for the Ekombi dance.
Generated world (World Labs Marble). GENERATED
NASA GIBS MODIS true-color satellite imagery over the Cross River and Niger Delta region of Nigeria.
Observed ground (NASA GIBS, MODIS true-color). REAL
Loading the world…
Walk the generated world. The gaussian splats World Labs returned for the Ekombi build (world 4863e38e), rendered live in the browser through Spark, their open-source splat renderer, and served from our own site. GENERATED

7 · Rendering and output

From Blender to the browser.

Every representation leaves Blender as a glTF binary, the GLB format, exported with the Y-up option so the orientation matches the data, and with skinning and animation included for the bodies that carry weights and motion.9 REAL The standalone interactive viewer embedded above is vanilla three.js at version r160, which loads each GLB with the glTF loader, plays its animation with the animation mixer, and orbits the camera with the orbit controls, while the In World mode maps the generated panorama onto the scene environment as an equirectangular reflection. REAL

Inside the platform itself the three-dimensional studios use react-three-fiber, the React binding for three.js, to play the joint data directly as a drawn skeleton of joints and threads rather than to load these GLB files, so the GLB viewer and the studio playback are two distinct surfaces with two distinct jobs. REAL

exportexport_scene.gltf( format='GLB', yup=True, skins=True, animations=True )
viewerthree.js r160: GLTFLoader + AnimationMixer + OrbitControls
environmentEquirectangularReflectionMapping (In World mode)
platform 3Dreact-three-fiber (joint playback, not GLB)

8 · The eme mapping, as data architecture

Each primitive is a concrete data object.

The analytical primitives are not decoration on top of this build. Each one names a specific data object in the pipeline, and stating them plainly shows which parts are captured signal and which parts are produced around it.

kinemethe joint sequence, the only captured signal, from which orientation is derivedDERIVED
artemethe costume geometry weighted to the kinematic chainREAL
teremethe environment: the generated world plus the NASA observed-ground layerGENERATED
scapemethe convergence of all of it into one navigable sceneFORTHCOMING
opsemedeliberately absent: the face is removed by design, because this build’s constraint is identity removalREAL

The one primitive deliberately absent from this build is the facial one, the opseme, because the constraint that organizes the whole pipeline is identity removal, and the face is where identity lives. Its absence here is a design decision rather than an oversight, and it marks exactly where this build’s ethic and the facial primitive’s preservation ethic meet.

9 · Forthcoming work

What is described here and not yet built.

FORTHCOMING

Motion retargeting onto the anatomical body

The recorded motion is mapped onto the MakeHuman rig by rotation retargeting, which establishes a bone correspondence between the source skeleton and the target rig and transfers per-frame rotations across it. An initial attempt distorted the weighted mesh, so a corrected bone mapping is the open task.

FORTHCOMING

VQ-VAE tokenization of this recording

The corpus pipeline tokenizes movement into a learned codebook of discrete kineme tokens through a vector-quantized autoencoder. This particular Ekombi recording has not yet been passed through that tokenizer, so no kineme tokens for it exist in the repository.

FORTHCOMING

Cloth simulation for the regalia

The regalia is rigid weighted geometry today. A cloth solver would let the wrapper settle and fold under gravity and contact.

The strength of this account is that the line between what runs today and what is intended is drawn explicitly, claim by claim. The build is real and processed, and where it is not yet finished the method is described rather than asserted.

References

Repository artifacts are cited by path so the claim can be checked against the file. External references point to the canonical specification or project. The claim-by-claim status ledger is kept at docs/dance-in-its-world-methods-verification.md.

  1. 1.SEE Lab motion-capture manifest: Ekombi capture, performer Sinclair, identifier ACF-0003.01, cataloged source format FBX. /assets/mocap/manifest.json
  2. 2.The Ekombi recording, derived JSON time series: 22 joints, 4,743 frames at 30 fps, 66 floats per frame, Y-up. /motion-data/REC_2026-753-6038.json
  3. 3.MediaPipe Pose: the thirty-three-landmark full-body pose used at capture, with face landmarks intentionally dropped in the platform skeleton mapping. Source ↗
  4. 4.SEE Lab mocap conversion notes and the FBX-to-BVH Blender script (BVH keeps the hierarchy and rotations, discards mesh and skin).
  5. 5.glTF 2.0 specification, skinning: the vertex skinning equation (linear blend skinning) the runtime evaluates; implemented here via Blender automatic weights and the glTF skin. Source ↗
  6. 6.MakeHuman and the MPFB Blender add-on: parametric human generation; generated output dedicated to the public domain under CC0. Source ↗
  7. 7.World Labs (Marble) generated world for the Ekombi build, archived with its operation id, world id, model marble-1.1, assets, and metric scale factor.
  8. 8.NASA Global Imagery Browse Services (GIBS): open, public-domain MODIS true-color imagery over the Cross River region, served as a tiled web map service (WMTS), retrieved keyless. Source ↗
  9. 9.The SEE Lab Blender export scripts and the standalone three.js viewer (r160) that loads the exported GLB assets. /blender/viewer.html

Sinclair Ogaga Emoghene

Director & Lead PI, SEE Lab · The University of Texas at Austin

SEE LAB

SEELAB
ResearchResearch→The JournalThe Journal→AboutAbout→
LinkedInYouTubeVimeo

© 2026 Sinclair Ogaga Emoghene