Skip to content

AI: libigl bounded biharmonic skinning weights #402

@fernandotonon

Description

@fernandotonon

Parent epic: #397

Goal

Compute high-quality skinning weights for a mesh + skeleton using libigl's bounded biharmonic weights — no ML, header-only C++.

Scope

  • Add libigl as a header-only dep (only the subset we need: igl::bbw, igl::boundary_conditions).
  • CLI: qtmesh skin model.fbx --algo biharmonic -o skinned.fbx.
  • GUI: Animation Mode action "Compute skin weights" when an entity has a skeleton but missing/poor weights.
  • MCP: compute_skin_weights tool.
  • Pair with the auto-rigger task (Epic: AI — Local-AI-assisted 3D workflows #397 Tier 3) — biharmonic weights are the natural completion step after Pinocchio places the skeleton.
  • Preview: re-render the entity with new weights and a default test pose.

Acceptance Criteria

  • A static mesh + a manually placed skeleton produces deformable skinning that follows bone rotations smoothly.
  • Weights sum to 1.0 per vertex and are non-negative.
  • Works for at least the standard humanoid skeleton from the test suite.
  • Unit test on a simple mesh+skeleton fixture.
  • Sentry breadcrumb ai.assist.skin_weights recorded.

Effort

~5 days.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ai-assistLocal-AI-assisted 3D workflows (epic prefix: AI:)cliCommand-line / qtmeshenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions