erase_pixel
Remove pixels by setting them to transparent in pixel art projects. Use this tool to erase specific areas on animation frames or layers for precise editing.
Instructions
Erase pixels (set to transparent)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project identifier | |
| layerIndex | No | Layer index (default: 0) | |
| frameIndex | No | Frame index (default: 0) | |
| x | Yes | X coordinate | |
| y | Yes | Y coordinate | |
| penSize | No | Eraser size (default: 1) |
Implementation Reference
- src/server/PiskelServer.ts:1142-1153 (handler)The PiskelServer method that acts as the handler for the erase_pixel tool.
private erasePixelTool( projectId: string, layerIndex: number, frameIndex: number, x: number, y: number, penSize: number ): object { const frame = this.getFrame(projectId, layerIndex, frameIndex); const count = erasePixel(frame, x, y, penSize); return { success: true, pixelsErased: count }; } - src/tools/drawing.ts:227-245 (handler)The core logic implementation for erasing pixels on a frame.
export function erasePixel( frame: Frame, x: number, y: number, penSize: number = 1 ): number { let count = 0; if (penSize === 1) { if (frame.containsPixel(x, y)) { frame.setPixel(x, y, 0); // Transparent count = 1; } } else { const pixels = resizePixel(x, y, penSize); for (const [px, py] of pixels) { if (frame.containsPixel(px, py)) { frame.setPixel(px, py, 0); count++; - src/server/PiskelServer.ts:492-510 (registration)The registration of the erase_pixel tool in the server schema.
name: 'erase_pixel', description: 'Erase pixels (set to transparent)', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'Project identifier', }, layerIndex: { type: 'number', description: 'Layer index (default: 0)', }, frameIndex: { type: 'number', description: 'Frame index (default: 0)', }, x: { type: 'number',