# Person Removal Feature

## Description
Tap-to-remove people from photos using Vision's person segmentation.

## Acceptance Criteria
- [ ] User taps person in photo with Person tool selected
- [ ] `VNGenerateForegroundInstanceMaskRequest` generates mask for tapped person
- [ ] Mask preview shown with red tint overlay
- [ ] Mask automatically dilated by 2-4px to capture edge pixels
- [ ] User can adjust feather amount before confirming
- [ ] On confirm: mask feathered and passed to InpaintEngine
- [ ] Inpainted result displayed, operation added to stack
- [ ] "Select all people" option available when multiple people detected
- [ ] Multiple people can be removed one at a time
- [ ] Partial occlusion handled (Vision provides usable mask)
- [ ] User can refine mask with brush tool if needed
- [ ] Error handling:
  - No person at tap: "No person found at tap location" toast
  - Low confidence mask: "Does this look right?" confirmation with preview
- [ ] Performance: mask generation < 500ms, inpaint per spec targets

## Technical Notes
- Vision's person segmentation is robust on iOS 17+
- Use `indexesOfInstancesContainingPoint` to identify which person was tapped
- For "select all", combine masks from all detected instances
- Allow brush refinement by switching to brush tool with existing mask loaded

## Edge Cases
- Person partially out of frame: mask what's visible
- Person behind object: Vision may include occluding object, allow brush refinement
- Very small person in photo: may not be detected, suggest zoom or brush
- Multiple overlapping people: tap selects frontmost, allow sequential removal
