You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Parent epic: #458
Depends on: Slice C, #400 (xatlas auto-unwrap)
Goal
Let users mark seams on 3D edges, sew/split UV islands, pin UVs, and re-run the unwrap on a selected subset of faces respecting both seams and pins.
Scope
Add a per-edge seam boolean attribute on EditableMesh. Persist through save/load for FBX and glTF (use existing custom property channels; document the format).
Mark / clear seam actions on selected 3D edges (Edit Mode action) — visualized in both viewports.
Pin / Unpin selected UV vertices. Pin state persists in the same way.
Sew (stitch) action: where two island borders correspond to the same 3D edge, merge their UV verts.
Split (rip) action: break UVs along selected edges to create a new island border.
"Unwrap selected" action that calls into xatlas (AI: xatlas auto-UV unwrap (qtmesh uv --unwrap) #400) for the selected 3D faces only, treating marked seams as island boundaries and locking pinned UV vertices.
Visualize seams (bold red in 3D, bold red in UV panel) and pins (small icon at vertex) in both viewports.
Acceptance Criteria
Seam mark/clear works and survives save/load.
Pin/unpin works and survives save/load (or document the limitation if a format can't carry it).
Sew correctly merges island borders along shared 3D edges; doesn't merge unrelated coincident UVs.
Split creates a new island border with no other side-effects.
"Unwrap selected" only modifies the selected faces and respects seams + pins.
All operations are undoable.
Unit tests cover seam mark, sew, split, and selection-scoped unwrap.
Effort
~7 days. Seam persistence in FBX/glTF is the riskiest part.
Parent epic: #458
Depends on: Slice C, #400 (xatlas auto-unwrap)
Goal
Let users mark seams on 3D edges, sew/split UV islands, pin UVs, and re-run the unwrap on a selected subset of faces respecting both seams and pins.
Scope
EditableMesh. Persist through save/load for FBX and glTF (use existing custom property channels; document the format).Acceptance Criteria
Effort
~7 days. Seam persistence in FBX/glTF is the riskiest part.