This started as an experiment to make a simple radial menu in Rive with a real use case. I built a FigJam-inspired Stamp System complete with dynamic canvas spawning, cursor tracking, audio-visual feedback, and defensive UI features.
This started out as me wanting to make a simple radial menu in Rive, but I wanted to give it an actual use case instead of making one with no context. I was using FigJam at the time, so I built a FigJam-inspired Stamp System using Luau scripting, State Machines, and ViewModels.
What started as a simple radial menu experiment turned into a fully interactive Stamp Tool with dynamically spawned Components, cursor tracking, audio-visual feedback, and defensive design features.
What is inside the file:
- Stamp Spawner Script: Instantiates selected stamps into memory and renders the array sequentially using instance:draw().
- Stacking-to-Grow: Stacking identical stamps merges them into a single, larger stamp moved to the top layer.
- Hold-to-Open Radial Menu: A 300ms cursor pause triggers a dynamic selection menu bound to the main ViewModel.
- Boundary Clamping: Clamps menu coordinates to canvas edges so controls always stay in view.
- Ghost Preview: Follows the cursor with a 30% opacity preview for precise placement.
- Realistic Imperfections & Pop FX: Adds randomized spawn rotation and a self-clearing placement animation.
#rive #stamp #figma #radial #menu #scripting #interactivedesign #interactiondesign #riveanimation
License
Viewing