API Overview#
The current API draft focuses on the parts of soma that look stable and user-facing from the repository:
top-level library entry points exported from
somathe main full-body layer:
SOMALayerthe left/right hand layer:
SOMAHandLayerPoseInversion, which is used by the conversion toolingthe
soma.iomodule for USD and NPZ interoperabilitythe lower-level
soma.geometrybuilding blocks that back skinning, fitting, and rig transforms
Recommended public surface#
For the first published version of the docs, treat these as the primary supported entry points:
soma.SOMALayersoma.body.SOMALayerandsoma.body.SOMAPoseOutputsoma.SOMAHandLayersoma.hand.SOMAHandPoseOutputsoma.setup_warp_for_ddpsoma.Unitsoma.create_identity_modeland thesoma.body.identity_modelbackendssoma.io.*USD and NPZ helperssoma.fitting.pose_inversion.PoseInversionsoma.fitting.rts_smoothing.smooth_pose
The historical soma.soma, soma.identity_model, soma.pose_inversion, and
soma.rts_smoothing paths remain available for existing applications and
serialized references. New module-qualified imports should use soma.body and
soma.fitting.
Advanced building blocks#
The soma.geometry.* modules are documented as an advanced API section. They are especially useful when you want to:
run lower-level FK and LBS utilities directly
fit or retarget skeletons outside the layer wrappers
reuse the Warp-accelerated alignment and skinning kernels in custom pipelines
These modules are still closer to implementation building blocks than the main layer APIs, so the geometry section should be read as advanced-user reference material rather than the primary onboarding path.