# Maya MCP Implementation Status
This document compares the MISSING_FUNCTIONALITY.md roadmap with what has actually been implemented.
## Summary
- **Total Tools Implemented**: ~100+ tools across 23 modules
- **Coverage**: Significantly improved from initial ~80 tools
- **Recent Additions**: Mesh editing, cameras, constraints, NURBS basics, deformers basics
## ✅ Recently Implemented (from latest PR)
### Mesh Editing (`mesh_editing.py`) - 8 tools
- ✅ `extrude_faces` - Extrude faces
- ✅ `extrude_edges` - Extrude edges
- ✅ `bevel_edges` - Bevel edges
- ✅ `smooth_mesh` - Smooth mesh
- ✅ `boolean_union` - Boolean union
- ✅ `boolean_difference` - Boolean difference
- ✅ `boolean_intersection` - Boolean intersection
- ✅ `merge_vertices` - Merge vertices
### Cameras (`cameras.py`) - 4 tools
- ✅ `create_camera` - Create cameras (perspective/orthographic)
- ✅ `set_camera_focal_length` - Set focal length
- ✅ `look_through_camera` - Look through camera
- ✅ `list_cameras` - List cameras
### Constraints (`constraints.py`) - 4 tools
- ✅ `create_aim_constraint` - Aim constraint
- ✅ `create_scale_constraint` - Scale constraint
- ✅ `create_geometry_constraint` - Geometry constraint
- ✅ `remove_constraint` - Remove constraint
### NURBS (`nurbs.py`) - 5 tools
- ✅ `create_nurbs_circle` - Create NURBS circle
- ✅ `create_nurbs_sphere` - Create NURBS sphere
- ✅ `create_curve_from_points` - Create curve from points
- ✅ `loft_surfaces` - Loft surfaces
- ✅ `revolve_curve` - Revolve curve
### Deformers (`deformers.py`) - 5 tools
- ✅ `create_blend_shape` - Blend shape deformer
- ✅ `create_cluster` - Cluster deformer
- ✅ `create_lattice` - Lattice deformer
- ✅ `create_bend_deformer` - Bend deformer
- ✅ `create_twist_deformer` - Twist deformer
## ❌ Still Missing from MISSING_FUNCTIONALITY.md
### 1. Polygon Mesh Operations (Extensive - Many Still Missing)
**Missing from mesh_editing.py:**
- ❌ `polyExtrudeVertex` - Extrude vertices
- ❌ `polyBridgeEdge` - Bridge edges between meshes
- ❌ `polyChamferVertex` - Chamfer vertices
- ❌ `polyCollapseEdge` - Collapse edges
- ❌ `polyCollapseFace` - Collapse faces
- ❌ `polyCut` - Cut faces
- ❌ `polyMergeEdge` - Merge edges
- ❌ `polyNormal` - Normal operations
- ❌ `polySubdivideFace` - Subdivide faces
- ❌ `polyTriangulate` - Triangulate mesh
- ❌ `polyQuadrangulate` - Convert to quads
- ❌ `polyReduce` - Reduce polygon count
- ❌ `polyRemesh` - Remesh operations
- ❌ `polyCrease` - Crease edges/vertices
- ❌ `polySewEdge` - Sew edges together
- ❌ `polySplit` - Split faces
- ❌ `polySubdEdge` - Subdivide edges
- ❌ `polySubdFace` - Subdivide faces
- ❌ `polyAppend` - Append to mesh
- ❌ `polyAppendVertex` - Append vertices
- ❌ `polyCloseBorder` - Close border edges
- ❌ `polyDelEdge` - Delete edges
- ❌ `polyDelFace` - Delete faces
- ❌ `polyDelVertex` - Delete vertices
- ❌ `polyDuplicateEdge` - Duplicate edges
- ❌ `polyFlipEdge` - Flip edges
- ❌ `polyFlipUV` - Flip UVs
- ❌ `polyMoveEdge` - Move edges
- ❌ `polyMoveFace` - Move faces
- ❌ `polyMoveVertex` - Move vertices
- ❌ `polyNormalizeUV` - Normalize UVs
- ❌ `polyPlanarProjection` - Planar UV projection
- ❌ `polyProjection` - Various UV projections
- ❌ `polySeparate` - Separate mesh components
- ❌ `polySmoothFace` - Smooth specific faces
- ❌ `polySoftEdge` - Soften edges
- ❌ `polySplitVertex` - Split vertices
- ❌ `polySubdivideEdge` - Subdivide edges
- ❌ `polyTransfer` - Transfer attributes between meshes
- ❌ `polyWedgeFace` - Wedge faces
**Missing component operations:**
- ❌ Component selection (vertices, edges, faces, UVs)
- ❌ Component editing operations
- ❌ Component queries
### 2. NURBS Operations (Partially Covered)
**Missing NURBS primitives:**
- ❌ `nurbsSquare` - Create NURBS square
- ❌ `nurbsPlane` - Create NURBS plane
- ❌ `nurbsCube` - Create NURBS cube
- ❌ `nurbsCylinder` - Create NURBS cylinder
- ❌ `nurbsCone` - Create NURBS cone
- ❌ `nurbsTorus` - Create NURBS torus
**Missing NURBS curve operations:**
- ❌ `curveOnSurface` - Create curve on surface
- ❌ `duplicateCurve` - Duplicate curve
- ❌ `attachCurve` - Attach curves
- ❌ `detachCurve` - Detach curve
- ❌ `openCurve` - Open curve
- ❌ `closeCurve` - Close curve
- ❌ `rebuildCurve` - Rebuild curve
- ❌ `reverseCurve` - Reverse curve direction
- ❌ `insertKnot` - Insert knot
- ❌ `extendCurve` - Extend curve
- ❌ `offsetCurve` - Offset curve
- ❌ `projectCurve` - Project curve onto surface
- ❌ `intersectCurve` - Find curve intersections
**Missing NURBS surface operations:**
- ❌ `planar` - Create planar surface
- ❌ `boundary` - Create boundary surface
- ❌ `square` - Create square surface
- ❌ `bevel` - Bevel surface
- ❌ `extrude` - Extrude curve to surface
- ❌ `birailSrf` - Birail surface
- ❌ `duplicateSurface` - Duplicate surface
- ❌ `attachSurface` - Attach surfaces
- ❌ `detachSurface` - Detach surface
- ❌ `rebuildSurface` - Rebuild surface
- ❌ `reverseSurface` - Reverse surface direction
- ❌ `insertKnotSurface` - Insert knot in surface
- ❌ `extendSurface` - Extend surface
- ❌ `offsetSurface` - Offset surface
- ❌ `trim` - Trim surface
- ❌ `untrim` - Untrim surface
- ❌ `projectCurve` - Project curve on surface
- ❌ `intersect` - Surface intersections
**Missing NURBS component operations:**
- ❌ CV (Control Vertex) manipulation
- ❌ Edit point operations
- ❌ Knot operations
- ❌ Isoparm operations
- ❌ Surface patch operations
### 3. Deformers (Partially Covered)
**Missing basic deformers:**
- ❌ `sculpt` - Sculpt deformer
- ❌ `wire` - Wire deformer
- ❌ `wrinkle` - Wrinkle deformer
- ❌ `jiggle` - Jiggle deformer
- ❌ `softMod` - Soft modification
- ❌ `tension` - Tension deformer
- ❌ `deltaMush` - Delta mush deformer
- ❌ `shrinkWrap` - Shrink wrap deformer
- ❌ `wrap` - Wrap deformer
- ❌ Other `nonLinear` types: flare, sine, squash, wave
**Missing deformer management:**
- ❌ List deformers on objects
- ❌ Get deformer weights
- ❌ Set deformer weights
- ❌ Remove deformers (generic)
### 4. Advanced Constraints (Partially Covered)
**Missing constraint types:**
- ❌ `normalConstraint` - Normal constraint
- ❌ `tangentConstraint` - Tangent constraint
- ❌ `poleVectorConstraint` - Pole vector constraint
- ❌ `pointOnPolyConstraint` - Point on poly constraint
- ❌ `pointOnCurveConstraint` - Point on curve constraint
- ❌ `closestPointOnSurface` - Closest point constraint
**Missing constraint management:**
- ❌ Get constraint targets
- ❌ Set constraint weights
- ❌ Enable/disable constraints
### 5. Advanced Rigging (Partially Covered)
**Missing IK operations:**
- ❌ `ikSplineSolver` - Spline IK
- ❌ `ikSpringSolver` - Spring IK
- ❌ `ik2Bsolver` - 2-bone IK solver
- ❌ IK handle management (remove, modify)
**Missing joint operations:**
- ❌ Joint orientation
- ❌ Joint limits
- ❌ Joint display
- ❌ Mirror joints
- ❌ Orient joints
- ❌ Joint labels
**Missing rigging utilities:**
- ❌ `motionPath` - Motion path animation
- ❌ `pathAnimation` - Path animation
- ❌ `character` - Character sets
- ❌ `characterMap` - Character mapping
- ❌ `humanIk` - Human IK system
- ❌ `ikHandle` - More IK handle options
### 6. Advanced Animation (Partially Covered)
**Missing animation tools:**
- ❌ `animCurveEditor` - Graph editor operations
- ❌ `dopeSheetEditor` - Dope sheet operations
- ❌ `timeEditor` - Time editor operations
- ❌ `bakeResults` - Bake animation
- ❌ `bakeSimulation` - Bake simulation
- ❌ `copyKey` - Copy keyframes
- ❌ `pasteKey` - Paste keyframes
- ❌ `scaleKey` - Scale keyframes
- ❌ `snapKey` - Snap keyframes
- ❌ `selectKey` - Select keyframes
- ❌ `keyframe` - More keyframe operations
- ❌ `findKeyframe` - Find keyframes
- ❌ `keyTangent` - Keyframe tangents
- ❌ `keyframeOutliner` - Keyframe outliner
- ❌ `animLayer` - More animation layer operations
- ❌ `blendNode` - Blend nodes
- ❌ `character` - Character sets
- ❌ `clip` - Animation clips
- ❌ `clipEditor` - Clip editor
- ❌ `poseEditor` - Pose editor
- ❌ `retarget` - Retargeting
- ❌ `timeWarp` - Time warp
**Missing animation curves:**
- ❌ `animCurve` - Animation curve operations
- ❌ `animCurveTA` - Time-angle curves
- ❌ `animCurveTL` - Time-length curves
- ❌ `animCurveTU` - Time-unitless curves
- ❌ `animCurveUA` - Unitless-angle curves
- ❌ `animCurveUL` - Unitless-length curves
- ❌ `animCurveUU` - Unitless-unitless curves
### 7. Cameras (Partially Covered)
**Missing camera operations:**
- ❌ `viewFit` - Fit view
- ❌ `viewPlace` - Place view
- ❌ `viewSet` - Set view
- ❌ `dolly` - Dolly camera
- ❌ `tumble` - Tumble camera
- ❌ `track` - Track camera
- ❌ `truck` - Truck camera
- ❌ `zoom` - Zoom camera
- ❌ Camera attributes (aperture, etc.)
- ❌ Stereo camera setup
- ❌ Camera sequencer
### 8. Advanced Materials and Shading (Partially Covered)
**Missing material types:**
- ❌ `surfaceShader` - Surface shader
- ❌ `useBackground` - Use background
- ❌ `layeredShader` - Layered shader
- ❌ `rampShader` - Ramp shader
- ❌ `shadingNode` - Generic shading node creation
- ❌ `aiStandardSurface` - Arnold materials (if available)
- ❌ `aiStandardHair` - Arnold hair materials
- ❌ `aiVolume` - Arnold volume materials
**Missing texture operations:**
- ❌ `file` - File texture node
- ❌ `place2dTexture` - 2D texture placement
- ❌ `place3dTexture` - 3D texture placement
- ❌ `projection` - Projection node
- ❌ `ramp` - Ramp texture
- ❌ `noise` - Noise texture
- ❌ `fractal` - Fractal texture
- ❌ `checker` - Checker texture
- ❌ `grid` - Grid texture
- ❌ `cloth` - Cloth texture
- ❌ `water` - Water texture
- ❌ `brownian` - Brownian texture
- ❌ `mountain` - Mountain texture
- ❌ `crater` - Crater texture
- ❌ `snow` - Snow texture
- ❌ `solidFractal` - Solid fractal
- ❌ `stucco` - Stucco texture
- ❌ `envBall` - Environment ball
- ❌ `envChrome` - Environment chrome
- ❌ `envCube` - Environment cube
- ❌ `envSky` - Environment sky
- ❌ `envSphere` - Environment sphere
**Missing shader network operations:**
- ❌ Connect shader nodes
- ❌ Disconnect shader nodes
- ❌ Query shader connections
- ❌ Shader graph traversal
- ❌ Shader assignment to components
### 9. Advanced Rendering (Partially Covered)
**Missing render settings:**
- ❌ `renderSettings` - Render settings
- ❌ `renderGlobals` - Render globals
- ❌ `defaultRenderGlobals` - Default render globals (more options)
- ❌ `renderLayer` - Render layers
- ❌ `renderLayerManager` - Render layer manager
- ❌ `renderPass` - Render passes
- ❌ `renderPassSet` - Render pass sets
- ❌ `renderQuality` - Render quality settings
- ❌ `renderWindowEditor` - Render window editor
- ❌ `iprRender` - IPR rendering
- ❌ `batchRender` - Batch rendering
- ❌ `render` - More render options
**Missing renderer-specific operations:**
- ❌ Arnold renderer settings
- ❌ V-Ray renderer settings (if available)
- ❌ Redshift renderer settings (if available)
- ❌ Hardware renderer settings
- ❌ Vector renderer settings
### 10. Paint Operations (Not Covered)
**Missing paint tools:**
- ❌ `artisan` - Artisan paint tools
- ❌ `paintSkinWeightsTool` - Paint skin weights
- ❌ `paintAttributesTool` - Paint attributes
- ❌ `paintEffects` - Paint Effects
- ❌ `paintFluid` - Paint fluid
- ❌ `sculptGeometryCache` - Sculpt geometry cache
- ❌ `sculptMeshCache` - Sculpt mesh cache
### 11. Dynamics and Simulation (Not Covered)
**Missing particles:**
- ❌ `particle` - Create particles
- ❌ `emitter` - Create emitter
- ❌ `goal` - Goal operations
- ❌ `particleInstancer` - Particle instancer
- ❌ `nParticle` - nParticle system
- ❌ `nRigid` - nRigid solver
- ❌ `nCloth` - nCloth solver
- ❌ `nHair` - nHair system
- ❌ `nConstraint` - nConstraint
- ❌ `nCache` - nCache operations
**Missing fluids:**
- ❌ `fluid` - Create fluid
- ❌ `fluidEmitter` - Fluid emitter
- ❌ `fluidVoxelInfo` - Fluid voxel info
- ❌ `ocean` - Ocean system
- ❌ `pond` - Pond system
**Missing fields:**
- ❌ `airField` - Air field
- ❌ `dragField` - Drag field
- ❌ `gravityField` - Gravity field
- ❌ `newtonField` - Newton field
- ❌ `radialField` - Radial field
- ❌ `turbulenceField` - Turbulence field
- ❌ `uniformField` - Uniform field
- ❌ `vortexField` - Vortex field
**Missing rigid bodies:**
- ❌ `rigidBody` - Rigid body
- ❌ `rigidConstraint` - Rigid constraint
- ❌ `rigidSolver` - Rigid solver
**Missing soft bodies:**
- ❌ `softBody` - Soft body
- ❌ `softMod` - Soft modification
### 12. Advanced Mesh Operations (Partially Covered)
**Missing mesh editing:**
- ❌ `polyBoolean` - Boolean operations (union, difference, intersection) - Note: Already have boolean_union/difference/intersection, but may need polyBoolean wrapper
- ❌ `polyBooleanOp` - Boolean operations
- ❌ `polyChipOff` - Chip off faces
- ❌ `polyCircularize` - Circularize selection
- ❌ `polyCircularizeEdge` - Circularize edges
- ❌ `polyCircularizeFace` - Circularize faces
- ❌ `polyCleanup` - Cleanup mesh
- ❌ `polyColorDel` - Delete color
- ❌ `polyColorPerVertex` - Per-vertex color
- ❌ `polyColorSet` - Color set operations
- ❌ `polyCompare` - Compare meshes
- ❌ `polyConnectComponents` - Connect components
- ❌ `polyCopyUV` - Copy UVs
- ❌ `polyCreaseEdge` - Crease edges
- ❌ `polyCreaseVertex` - Crease vertices
- ❌ `polyCylindricalProjection` - Cylindrical UV projection
- ❌ `polyDelFacetUV` - Delete facet UVs
- ❌ `polyEditUV` - Edit UVs (more operations)
- ❌ `polyEditUVShell` - Edit UV shells
- ❌ `polyEvaluate` - Evaluate mesh (more options)
- ❌ `polyFlip` - Flip mesh
- ❌ `polyFlipUV` - Flip UVs
- ❌ `polyHelixProjection` - Helix UV projection
- ❌ `polyMapCut` - Cut UV map
- ❌ `polyMapDel` - Delete UV map
- ❌ `polyMapSew` - Sew UV map
- ❌ `polyMapSewMove` - Sew and move UVs
- ❌ `polyMergeUV` - Merge UVs
- ❌ `polyModifyUV` - Modify UVs
- ❌ `polyMoveUV` - Move UVs
- ❌ `polyNormalPerVertex` - Per-vertex normals
- ❌ `polyOptUvs` - Optimize UVs
- ❌ `polyPlanarProjection` - Planar UV projection
- ❌ `polyProjection` - Various UV projections
- ❌ `polyPrism` - Create prism
- ❌ `polyPyramid` - Create pyramid
- ❌ `polySelect` - Select polygon components
- ❌ `polySelectConstraint` - Selection constraints
- ❌ `polySelectEditCtx` - Selection edit context
- ❌ `polySeparate` - Separate mesh
- ❌ `polySetToFaceNormal` - Set to face normal
- ❌ `polySmooth` - Smooth (more options)
- ❌ `polySmoothFace` - Smooth faces
- ❌ `polySnapUV` - Snap UVs
- ❌ `polySphericalProjection` - Spherical UV projection
- ❌ `polySplit` - Split faces
- ❌ `polySplitEdge` - Split edges
- ❌ `polySplitRing` - Split ring
- ❌ `polySplitVertex` - Split vertices
- ❌ `polyStraightenUVBorder` - Straighten UV border
- ❌ `polySubdivideEdge` - Subdivide edges
- ❌ `polySubdivideFace` - Subdivide faces
- ❌ `polyToSubdiv` - Convert to subdivision
- ❌ `polyTransfer` - Transfer attributes
- ❌ `polyTorus` - Create torus
- ❌ `polyTriangulate` - Triangulate
- ❌ `polyUniteSkinned` - Unite skinned meshes
- ❌ `polyUniteUV` - Unite UVs
- ❌ `polyWedgeFace` - Wedge faces
### 13. Namespaces and References (Not Covered)
**Missing namespace operations:**
- ❌ `namespace` - Create/manage namespaces
- ❌ `namespaceInfo` - Namespace information
- ❌ `namespaceMove` - Move to namespace
**Missing reference operations:**
- ❌ `reference` - Create references
- ❌ `referenceEdit` - Edit references
- ❌ `referenceQuery` - Query references
- ❌ `file` - File reference operations (more options)
### 14. Sets and Partitions (Not Covered)
**Missing set operations:**
- ❌ `sets` - Create sets
- ❌ `partition` - Create partitions
- ❌ `addToSet` - Add to set
- ❌ `removeFromSet` - Remove from set
### 15. Expressions (Not Covered - Blocked for Safety)
**Expression operations:**
- ❌ `expression` - Create expressions (BLOCKED - could execute code)
- ❌ Expression queries (could be safe if read-only)
### 16. Script Jobs and Callbacks (Not Covered - Blocked for Safety)
**Callback operations:**
- ❌ `scriptJob` - Script jobs (BLOCKED)
- ❌ `callbacks` - Callback management (BLOCKED)
- ❌ `callback` - Callback operations (BLOCKED)
### 17. Advanced Selection (Partially Covered)
**Missing selection operations:**
- ❌ `select` - More selection options
- ❌ `selectMode` - Selection mode
- ❌ `selectType` - Selection type
- ❌ `hilite` - Highlight
- ❌ `selectPref` - Selection preferences
- ❌ Component selection (vertices, edges, faces, UVs)
- ❌ Selection sets
- ❌ Selection constraints
### 18. Advanced Transform Operations (Partially Covered)
**Missing transform operations:**
- ❌ `xform` - Transform operations (more comprehensive)
- ❌ `snap` - Snap operations
- ❌ `snapMode` - Snap mode
- ❌ `align` - Align objects
- ❌ `matchTransform` - Match transforms
- ❌ `makeIdentity` - Make identity
- ❌ `resetTransform` - Reset transform
- ❌ `freezeTransformations` - Freeze transformations
- ❌ `unfreezeTransformations` - Unfreeze transformations
- ❌ `group` - Group objects
- ❌ `ungroup` - Ungroup
- ❌ `parent` - More parent options
- ❌ `unparent` - Unparent
- ❌ `pickWalk` - Pick walk
- ❌ `pickWalkContext` - Pick walk context
### 19. Advanced Query Operations (Partially Covered)
**Missing query operations:**
- ❌ `listRelatives` - List relatives (children, parents, shapes)
- ❌ `listHistory` - List history
- ❌ `listConnections` - List connections (more options)
- ❌ `listAnimatable` - List animatable attributes
- ❌ `listSets` - List sets
- ❌ `listNodeTypes` - List node types
- ❌ `nodeType` - Node type queries
- ❌ `nodeTypeInfo` - Node type information
- ❌ `about` - About Maya (more options)
- ❌ `getClassification` - Get classification
- ❌ `help` - Help system
- ❌ `whatIs` - What is command
### 20. Advanced File Operations (Partially Covered)
**Missing file operations:**
- ❌ `file` - More file options (references, options, etc.)
- ❌ `fileInfo` - File information
- ❌ `fileDialog` - File dialogs
- ❌ `fileDialog2` - File dialog v2
- ❌ `getFileList` - Get file list
- ❌ `workspace` - Workspace operations
- ❌ `workspaceControl` - Workspace control
- ❌ `project` - Project operations
- ❌ `projectWindow` - Project window
### 21. Viewport and Display (Partially Covered)
**Missing viewport operations:**
- ❌ `viewFit` - Fit view
- ❌ `viewPlace` - Place view
- ❌ `viewSet` - Set view
- ❌ `lookThrough` - Look through (more options)
- ❌ `dolly` - Dolly
- ❌ `tumble` - Tumble
- ❌ `track` - Track
- ❌ `truck` - Truck
- ❌ `zoom` - Zoom
- ❌ `viewClipPlane` - View clip plane
- ❌ `viewHeadOn` - View head on
- ❌ `viewManip` - View manipulator
- ❌ `viewSelected` - View selected
- ❌ `view2dToolCtx` - 2D view tool
- ❌ `view3dToolCtx` - 3D view tool
- ❌ `viewAxis` - View axis
- ❌ `viewBookmark` - View bookmarks
- ❌ `viewCamera` - View camera
- ❌ `viewClipPlane` - View clip plane
- ❌ `viewColor` - View color
- ❌ `viewCompass` - View compass
- ❌ `viewFit` - Fit view
- ❌ `viewFrame` - Frame view
- ❌ `viewHeadOn` - Head on view
- ❌ `viewLookAt` - Look at view
- ❌ `viewManip` - View manipulator
- ❌ `viewPlace` - Place view
- ❌ `viewSelected` - View selected
- ❌ `viewSet` - Set view
- ❌ `viewTrack` - Track view
### 22. Advanced Animation Curves (Partially Covered)
**Missing curve operations:**
- ❌ `animCurve` - Animation curve operations
- ❌ `animCurveEditor` - Graph editor
- ❌ `keyTangent` - Keyframe tangents
- ❌ `keyframe` - More keyframe operations
- ❌ `findKeyframe` - Find keyframes
- ❌ `selectKey` - Select keyframes
- ❌ `copyKey` - Copy keyframes
- ❌ `pasteKey` - Paste keyframes
- ❌ `scaleKey` - Scale keyframes
- ❌ `snapKey` - Snap keyframes
### 23. Advanced Material Operations (Partially Covered)
**Missing material operations:**
- ❌ `hyperShade` - Hypershade operations
- ❌ `shadingNode` - More shading node operations
- ❌ `assignInputDevice` - Assign input device
- ❌ `createRenderNode` - Create render node
- ❌ `listNodeTypes` - List node types
- ❌ `nodeType` - Node type queries
- ❌ `shaderList` - Shader list
- ❌ `shadingConnection` - Shading connections
- ❌ `shadingNetwork` - Shading network operations
### 24. Advanced Light Operations (Partially Covered)
**Missing light operations:**
- ❌ `lightLink` - Light linking
- ❌ `lightList` - Light list
- ❌ `listLightLinks` - List light links
- ❌ `makeLightLinks` - Make light links
- ❌ `breakLightLinks` - Break light links
- ❌ Light attributes (shadows, decay, etc.)
- ❌ Light linking editor operations
### 25. Advanced UV Operations (Partially Covered)
**Missing UV operations:**
- ❌ `polyEditUV` - More UV edit operations
- ❌ `polyMapCut` - Cut UV map
- ❌ `polyMapSew` - Sew UV map
- ❌ `polyMapDel` - Delete UV map
- ❌ `polyUVSet` - UV set operations
- ❌ `polyUVSetCreate` - Create UV set
- ❌ `polyUVSetDelete` - Delete UV set
- ❌ `polyUVSetCopy` - Copy UV set
- ❌ `polyUVSetCurrent` - Set current UV set
- ❌ `polyUVSetRename` - Rename UV set
- ❌ `polyUVSetTransfer` - Transfer UV set
- ❌ `polyUVSetQuery` - Query UV sets
### 26. Advanced Skinning Operations (Partially Covered)
**Missing skinning operations:**
- ❌ `skinCluster` - More skin cluster operations
- ❌ `copySkinWeights` - Copy skin weights
- ❌ `exportSkinWeights` - Export skin weights
- ❌ `importSkinWeights` - Import skin weights
- ❌ `skinPercent` - Get/set skin weights
- ❌ `bindSkin` - More bind options
- ❌ `detachSkin` - Detach skin
- ❌ `goToBindPose` - Go to bind pose
- ❌ `setBindPose` - Set bind pose
- ❌ `resetBindPose` - Reset bind pose
- ❌ `skinCluster` - More skin cluster queries
### 27. Advanced Rendering Operations (Partially Covered)
**Missing rendering operations:**
- ❌ `renderLayer` - Render layers
- ❌ `renderPass` - Render passes
- ❌ `renderSettings` - Render settings (more options)
- ❌ `renderWindowEditor` - Render window
- ❌ `iprRender` - IPR rendering
- ❌ `batchRender` - Batch rendering
- ❌ `render` - More render options
- ❌ `renderView` - Render view
- ❌ `renderWindow` - Render window
- ❌ `renderWindowEditor` - Render window editor
### 28. Node Operations (Not Covered)
**Missing node operations:**
- ❌ `createNode` - Create generic nodes
- ❌ `deleteNode` - Delete nodes
- ❌ `rename` - Rename nodes
- ❌ `lockNode` - Lock nodes
- ❌ `unlockNode` - Unlock nodes
- ❌ `lockNode` - Lock node attributes
- ❌ `unlockNode` - Unlock node attributes
- ❌ `nodeType` - Node type queries
- ❌ `nodeTypeInfo` - Node type information
- ❌ `listNodeTypes` - List node types
- ❌ `getClassification` - Get classification
- ❌ `isConnected` - Check connections
- ❌ `listConnections` - List connections (more options)
- ❌ `listHistory` - List history
- ❌ `listRelatives` - List relatives
### 29. Advanced Attribute Operations (Partially Covered)
**Missing attribute operations:**
- ❌ `addAttr` - More add attribute options
- ❌ `deleteAttr` - Delete attributes
- ❌ `setAttr` - More set attribute options
- ❌ `getAttr` - More get attribute options
- ❌ `attributeInfo` - Attribute information
- ❌ `attributeQuery` - Attribute queries
- ❌ `listAttr` - More list attribute options
- ❌ `aliasAttr` - Alias attributes
- ❌ `lockNode` - Lock attributes
- ❌ `unlockNode` - Unlock attributes
- ❌ `connectAttr` - More connect options
- ❌ `disconnectAttr` - More disconnect options
- ❌ `listConnections` - More connection queries
### 30. Advanced Mesh Component Operations (Not Covered)
**Missing component operations:**
- ❌ Select vertices, edges, faces, UVs
- ❌ Edit components
- ❌ Component queries
- ❌ Component transformations
- ❌ Component selection sets
## Priority Recommendations
Based on MISSING_FUNCTIONALITY.md priorities and current gaps:
### High Priority (Common workflows):
1. **More polygon mesh editing** - Many operations still missing (split, collapse, triangulate, etc.)
2. **More NURBS operations** - Curve editing, surface operations, primitives
3. **More constraints** - Normal, tangent, pole vector constraints
4. **More camera operations** - Viewport controls, camera attributes
5. **More material/texture operations** - Textures, shader networks
6. **Paint tools** - Skin weights, attributes (critical for character work)
7. **More deformer operations** - Additional non-linear types, deformer management
### Medium Priority (Specialized workflows):
1. **Advanced animation tools** - Graph editor, dope sheet, keyframe manipulation
2. **Advanced rigging** - More IK solvers, joint operations
3. **Advanced rendering** - Render layers, passes, IPR
4. **Namespaces and references** - Scene organization
5. **Sets and partitions** - Object organization
6. **Advanced transform operations** - Snap, align, group/ungroup
7. **Advanced query operations** - listRelatives, listHistory, etc.
### Low Priority (Advanced/specialized):
1. **Dynamics and simulation** - Particles, fluids, fields
2. **Paint Effects** - Specialized tool
3. **Advanced viewport operations** - Many view manipulation tools
4. **Node operations** - Generic node creation/management
5. **Advanced attribute operations** - More attribute manipulation options
## Notes
- **Safety**: Script execution, callbacks, and expression creation remain blocked for security
- **Performance**: OpenMaya API is used where appropriate for expensive operations
- **Extensibility**: The modular structure makes it easy to add new tool categories
- **Testing**: New tools should follow the existing test patterns with mocks