puzbox v0.1
Puzbox initial release
Launched puzbox today - an interactive 3D puzzle box built with React Three Fiber. The concept is a virtual “magic box” device with physical widgets like buttons, sliders, dials, and LEDs that players manipulate to solve puzzles.
Built out six puzzles with increasing complexity. The first few introduce basic interactions - pressing buttons, moving sliders, watching LEDs respond. Later puzzles combine multiple widgets, like Puzzle06 where dial rotation controls slider positions. Each puzzle has its own state managed through Jotai atoms, with a progression system that unlocks the next puzzle on completion.
The widget library includes interactive components (Button3D, Slider3D, Dial3D, Switch3D) and display widgets (LED3D, ProgressBar3D). Getting touch interactions right on iOS took several iterations - fixed issues with button press states, OrbitControls getting stuck, and Safari-specific touch handling quirks.
Added some polish features: mouse parallax effect that tilts the device as you move the cursor, gyroscope support for the same effect on mobile, and a debug pane with tweakpane for adjusting colors, materials, and selecting puzzles during development. The debug pane persists its state so settings survive page reloads.
Set up GitHub Actions for deployment and configured Vite with the right base paths for hosting.
More puzbox
An interactive 3D puzzle box built with React Three Fiber · play puzbox · devlog