KamoCRM

Throw-to-remove goal with score/miss celebrations

Featurekamo-internal
Shipped
30 ஏப்ரல், 2026 அன்று 12:23 AM UTC
Author
kamo
Commit
36564a5

A 132×132 goal frame appears in the upper-left whenever a head is in solo-drag or active-throw, offset 56px from the corner so heads can miss past or behind it. Three solid walls (top, left, bottom) act as elastic bounce surfaces (0.65 restitution); the right side is the open entry. A bold red X in the back panel makes the "remove" intent unmistakable, and a pulsing entry indicator marks the open side. When a thrown head's center crosses into the score zone, it's removed from the throw map, the underlying tool window is closed via tool:close, and the head is removed via removeHead. A green radial flash, 18-particle gold/orange burst, and a bouncing GOAL! overlay fire on score. When a thrown head merely bounces off any goal wall (debounced by 350ms so a single fail doesn't spam events), the goal shakes red and a MISS! overlay punches in. Stability: goal collision lives entirely inside the throw RAF loop (no spring-system contention), and HexHeadGoalZone owns all celebration state internally — the engine only fires events. Pure additive feature; non-throw drag/drop paths are unchanged.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing