Project activity for April 21, 2026:
package-paper-destruction
60 commits
- Tape v3 implementation: A full refactor of the tape feature into a first-class, removable, history-preserving, and resolution-independent tool, built incrementally across multiple steps—including group-core gesture routing, scene-item migration, group-building logic, long-press menu support, generalized cut + connectivity passes, and unit tests— culminating in a stable version (CFBundleVersion 63).
- Cut path and sub-stroke attachment improvements: Shifted from endpoint-based to all-point sampling for matching tape to shapes, implemented per-parent majority voting for sub-stroke attachment, and resolved endpoint ambiguity via pure-contained body sampling (after reverting and restoring connectivity hints). Also normalized the tape halo to full width and eliminated alpha bleed by disabling interpolation in
pixelIsOpaque, replacing earlier pixel-opaque attempts with silhouette halo logic. - Rotation and coordinate handling: Accurately compensating for host and group rotation when projecting cuts into local coordinates or attaching tapes to existing groups, ensuring correct alignment across transformations.
- Tape feedback and rendering polish: Rasterizing taped pieces in ascending z-order while inheriting the topmost piece’s z-index; correcting piece centering and scale flooring; enabling square tape ends, piece zoom toggle, and more opaque visuals.
- Presets and UI enhancements: Introduced JSON-based preset import/export and a presets menu for saving/applying rip configurations; refined deckle edge behavior via slope-limited and frequency-scaled variants; added per-photo zoom-setting inheritance; and improved diagnostics (e.g., status text placement, silhouette logging, and group input/output visibility).
- Tooling and infrastructure: Created an app-icon generator script for RipPlayground with a 320pt glyph composition update; enforced VM-side simulator usage for fail-fast behavior; documented MCP replay and tape v3 planning; and applied design review feedback (Opus and PR #28/29).
- Stroke detection refinement: Switched stroke-end detection from PencilKit commit events to UIKit touch-lift events for more accurate gesture termination.