Skip to content
weSkelDOCUMENTATION
Documentation/Rigging/Parent Spaces

Rig configuration

Parent Spaces

Configure controller spaces from public module outputs.

RigSpacesPresets

Parent Spaces — Rig configures controller spaces from public module outputs. Validated edits apply immediately to the scene: there is no global Create / Apply button.

Icon: Parent Spaces - Rig

In the weSkel shelf, click the Parent Spaces - Rig icon.

From Python
from weSkel.src.ui import parent_spaces
parent_spaces.show_dockable(floating=True) # Floating window; dock where you prefer.
# parent_spaces.show() # Alternative: standalone floating window.

Maya may restore a saved docking state.

1Mirror 2Load 3Controllers 4Spaces 5Outputs 6Settings
weSkel | Parent Spaces — Rig · Poseidon theme.
Guide Function
1 · Mirror Mirror is enabled by default. The green refresh button reloads rig, controller and output information.
2 · Load Follow Maya selection follows the selected controller. Turn it off to keep the loaded controller; Load selection explicitly reloads the Maya selection.
3 · Controllers Equipped controllers lists equipped controllers: name, Spaces count (including parent) and Default. Click a row to load it; multiple selection is for export, not collective editing.
4 · Spaces The state shows the active space and Live / Frozen offsets. The table edits spaces for the loaded controller only.
5 · Outputs Choose a Module, then its Output, to add a target or replace the selected row’s target.
6 · Settings Set defaults and offset mode. Refusals and errors appear in the status at the bottom of the window.
Scene registry

parent_spaces_set, under rig_sets > metadata_set, contains the systems’ metadata networks. The table finds equipped controllers through this registry.

Choose a Module, then an Output, and click Add output. Rename the space directly in its Space cell if needed.

Action Effect
Add output Adds a target. The first added space automatically creates the Parent Spaces system.
Replace selected target Replaces the selected row’s target and generates a name for the new output. The name remains editable.
Remove selected row Removes the selected row. Removing the last custom space removes the system and restores the original behavior.

The first row, parent / Original parent, represents the original parent. It cannot be renamed or removed. Modules display their baseName; a sided root also shows its side, such as arm (l). Outputs identify their port and side.

With Mirror enabled, an edit on an l_ or r_ controller also applies to its opposite, using the corresponding outputs. This includes spaces, defaults and offsets. Disable Mirror for an asymmetric setup; it does not create missing controllers or modules.

Default space sets the default value of spaceSwitch; Default mode sets the default of spaceType. These settings do not change the active space or current pose.

Mode Behavior
Parent Position and orientation.
Orient Orientation.
Point Position.

Defaults are included in presets.

A rest reference describes the target’s reference placement. It is used to calculate offsets; it is not a captured animation pose.

Inverse rest reference · technical column shown.
Setting Effect
Show rest references Shows Inverse rest reference for inspection without changing the scene.
Rest output Appears only when the selected output does not supply the required reference. Choose a public reference explicitly.
Use live offsets Connects the calculation to rest references. Placement changes can propagate to the offsets.
Refresh and freeze Recalculates offsets from the current rest references, then freezes them. Later reference changes are no longer followed automatically.

Immediate UI editing works in both modes: Live / Frozen describes only offset calculation. The refresh button at the top reloads the display; Refresh and freeze changes offsets.

JSON presets retain space names, targets, rest references, defaults and Live / Frozen mode.

Button Contents
Export selection… Selected rows in Controllers; use Ctrl / Shift to choose several.
Export all… All equipped controllers in the current rig.

Import preset… loads a JSON file. A single-controller preset targets the loaded controller; a multi-controller preset finds matching controllers in the current rig.

Import fully replaces the affected controllers’ configurations. Check the preview before Replace configurations; Cancel keeps the configuration. With Mirror enabled, the preview can also include opposite controllers.

Import Parent Spaces preset · preview before replacement.

Presets contain neither animation nor captured poses. Offsets are recalculated from the destination rig, which must have the matching controllers, modules and outputs.

Structural edits require the controller to be on parent, unanimated space selectors and no incompatible connections. The status area explains refusals and errors.

This window prepares the rig’s configuration; it does not switch animation spaces with pose compensation.