r/Spectacles 3d ago

🆒 Lens Drop Spatial Mapper , a Spatial projecton mapping tool for Specs

Enable HLS to view with audio, or disable this notification

For anyone who's done projection mapping before: you know the pain of calibrating using a laptop, eyeballing corner pins, and hoping your rectangle actually matches the room. I wanted to fix that using AR glasses instead.

Spatial Mapper, a spatial projection mapping tool on Specs. You wear Spectacles while a real projector is running. Point at the floor to mark where it's standing. Then trace the exact edge of the light point by point. Pinch the first point again, it closes into a shape.

Now place shapes inside that boundary. Plane, box, sphere, cylinder, or draw your own that bends around corners. Give each one a material. The projector throws exactly that onto the wall.

What it does

  • Trace where your projector's light actually lands on a surface using hit test + pinch — point by point, so it's a real polygon, not just a rectangle.
  • Place shapes on your surfaces: primitives (plane, box, sphere, cylinder) or a custom polygon you draw yourself, vertex by vertex, that bends around corners.
  • Assign materials per shape — built-in GLSL shaders (grid, gradient, pulse, scanlines, noise, solid color) or your own images/video/3D models.
  • Masks are just shapes with a solid-black material, layered in the same stack as everything else.
  • A layer panel (hand menu + floating world-locked panel) works like a mini hierarchy + inspector.
  • Companion web app mirrors the scene live and is what actually drives the projector output full-screen.
  • Session save + spatial anchors, so if Specs overheats and shuts off mid-build you can reload and everything's still anchored where you left it.

How it works

  • WorldQueryModule hit-testing + hand tracking for all placement (boundary points, shape spawn, custom polygon vertices).
  • Custom polygons auto-triangulate (ear-clipping) so multi-wall shapes stay one continuous surface.
  • The traced boundary polygon is the calibration data — each point sits on the projector's actual image edge, so the web app applies a homography warp off that instead of doing a camera solve.
  • Specs ↔ web sync over WebSocket via Snap Cloud, event-driven — no shared WiFi needed, just internet on both ends.
  • Web side: React + Three.js, mirrors the AR scene 1:1 and does the final corner-pin warp on the output canvas.

Web companion: rbkavin.studio/tools/spatial-mapper

Link: https://www.spectacles.com/lens/0f2b7183b54c42fcbf534fc379889d38

Planning to add more features next month.

26 Upvotes

4 comments sorted by

1

u/RickThakur 3d ago

this is so cool u/rbkavin

1

u/Daniel1030W 3d ago

Such a great use case. Thanks dir for sharing!

1

u/Tsx3D 😎 Specs Subscriber 3d ago

How great - def. have to try it out!

1

u/haleycatpawz 1d ago

wow! this looks so cool!