---
path: /studio/isis/auto-rigging
surface: studio
domain: isis
auth:
  signed-in + studio entitlement (AAA-gated — segment `auto-rigging` in
  `AAA_ONLY_STUDIO_ROUTES`)
source: apps/oshun/web/src/app/studio/isis/auto-rigging/page.tsx
status: walked
last_walked:
  '2026-05-29 automated runtime walk (Playwright headless) — render, /v1 data
  (2xx), console/page-errors, expected content, screenshot verified; live
  screen-reader, touch, offline, and telemetry-delivery checks pending a manual
  AT pass. Evidence: WALKTHROUGH/results/runtime-sweep-2026-05-29.md; body
  re-derived 2026-06-03 from current source (lane-console architecture)'
---

# Isis Auto Rigging

## Purpose

Hybrid Isis auto-rigging surface. The load-bearing wired piece is the live
humanoid rig validator lane, which checks a detected bone set against the
Unity-Humanoid required minimum (plus common optional bones) and reports missing
required bones, coverage, and retarget-readiness. Around it sits a retained
expert shell driven by demo sessions and the shared motion catalog.

## Entry points

- Quick-action card from `/studio/isis/topology-verification`
- Studio index (`/studio`)
- Direct URL / bookmark (AAA-gated)

## Layout regions

`page.tsx` mounts `ShellLayout active="studio"` and three panels (no breadcrumb
panel). The workspace renders the skeleton lane, then the expert client.

- **Skeleton lane** (`data-hrl-lane`, `<h2>` `data-hrl-heading` "Live Humanoid
  Rig Validator") — the wired, real-backed validator
- **Workspace panel** (`data-isis-auto-rigging-workspace`):
  - `<h1>` "Isis Auto-Rigging Workspace" (`WorkspaceHeading`) + summary
    (`data-isis-auto-rigging-summary`)
  - KPI band (`data-isis-auto-rigging-kpis`), session rail
    (`data-isis-auto-rigging-session-rail`, `data-isis-auto-rigging-session-option`),
    and active-session detail (`data-isis-auto-rigging-active-session`) — driven
    by demo sessions + the local motion catalog
- **Route map panel** (`data-isis-auto-rigging-route-map`): `<h2>` "Route Map"
  enumerating `STUDIO_ISIS_AUTO_RIGGING_ROUTE_MAP`
- **Quick-actions panel**: `quickAction` links to
  `/studio/isis/topology-verification` and "Back to Studio workspace index" →
  `/studio`

## States

### Rig validator lane (wired)

- [ ] **Loading** — `data-hrl-loading` "Loading rig validator…"
- [ ] **Unauthorized** — `data-hrl-unauthorized` (admin-scope fail-closed on
      401/403, "Isis workspace scope required to validate rigs.")
- [ ] **Error** — `data-hrl-error` on the mount GET
- [ ] **Ready (form)** — `data-hrl-form` rig-bones JSON textarea + submit
- [ ] **Result** — `data-hrl-result` with `data-hrl-headline`
      (`data-complete` yes/no, `data-hrl-coverage`), `data-hrl-missing` of
      `data-hrl-missing-row`; or `data-hrl-validate-error`

### Expert shell (legacy, demo-data)

- [ ] **Session rail / active session** — render from
      `createStudioIsisAutoRiggingDemoSessions()` + the local motion catalog; no
      `/v1` call

## Interactions

### Validate rig (`data-hrl-form`)

- [ ] **Rig bones JSON** — `data-hrl-payload` textarea (bones list)
- [ ] **Validate rig** — `data-hrl-submit` submit; POSTs to
      `/v1/admin/isis/auto-rigging/validate-rig`, returns coverage + missing
      required bones + retarget-readiness

### Expert shell

- [ ] **Session options** — `data-isis-auto-rigging-session-option={id}` switch
      the active demo session (client-only)

### Route map

- [ ] **Route-map articles** — non-interactive path + purpose entries

### Quick-actions

- [ ] **Open Isis Topology Verification workspace** →
      `/studio/isis/topology-verification`
- [ ] **Back to Studio workspace index** → `/studio`

## Data & contracts

- **Reads**: `GET /v1/admin/isis/auto-rigging` (`HRL_ENDPOINT`) on mount — gate
  check
- **Writes**: `POST /v1/admin/isis/auto-rigging/validate-rig`
  (`HRL_VALIDATE_ENDPOINT`) — validate a humanoid rig
- **Realtime**: None
- **Caching**: client `fetch` on mount, `cache: 'no-store'`,
  `buildBffAuthHeaders()`
- **Auth**: admin-scoped fail-closed (401/403 → unauthorized state); AAA-gated
  studio route behind the signed-in + studio proxy gate
- **Component sources**:
  - `apps/oshun/web/src/components/studio/StudioIsisAutoRiggingWorkspace.tsx`
  - `apps/oshun/web/src/components/studio/StudioIsisAutoRiggingSkeletonLane.tsx`
  - `apps/oshun/web/src/components/studio/StudioIsisAutoRiggingWorkspaceClient.tsx`
  - `apps/oshun/web/src/components/studio/StudioIsisAutoRiggingRouteMap.ts`

## Cross-references

- Studio overview: [`../../studio-overview.md`](../../studio-overview.md)
- Sibling routes:
  - [`studio-isis-topology-verification.md`](./studio-isis-topology-verification.md)
  - [`studio-isis-texture-enhancement.md`](./studio-isis-texture-enhancement.md)

## Open questions / known gaps

- [ ] The expert shell (session rail, KPIs, motion catalog) runs on
      `createStudioIsisAutoRiggingDemoSessions()` demo data — it is not wired to
      a persisted rigging-session store
- [ ] Only the rig validator lane is wired to a `/v1` endpoint; motion
      application / skin-weight refinement stages are not yet persisted
      server-side
