/** * Weight Painting * * System for painting vertex weights on meshes attached to armatures. * Used for rigging and animation workflows. */ import { Mesh } from '../geometry/mesh'; import { Armature } from '../geometry/armature'; import { ArmatureBone } from '../geometry/armature_bone'; export interface WeightPaintingOptions { radius?: number; limit?: number; blend_mode?: 'set' | 'add'; xray?: boolean; mirror?: boolean; } export interface WeightPaintingResult { affected_vertices: Set; weights_changed: boolean; } /** * Paint vertex weights on a mesh */ export declare function paintVertexWeights(mesh: Mesh, bone: ArmatureBone, position: [number, number], // Screen space position [x, y] options?: WeightPaintingOptions): WeightPaintingResult; /** * Get vertex weights for a mesh and bone */ export declare function getVertexWeights(mesh: Mesh, bone: ArmatureBone): Record; /** * Normalize vertex weights for a mesh * Ensures total weight per vertex doesn't exceed 1.0 */ export declare function normalizeVertexWeights(mesh: Mesh, armature: Armature): void; /** * Clear all vertex weights for a mesh */ export declare function clearVertexWeights(mesh: Mesh, armature: Armature): void; /** * Copy vertex weights from one bone to another */ export declare function copyVertexWeights(mesh: Mesh, sourceBone: ArmatureBone, targetBone: ArmatureBone): void; //# sourceMappingURL=weight_painting.d.ts.map