Skip to content

thekensman/sandpath

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SandPath

Convert images and SVGs to sand table formats — clean paths, no scanlines.

SandPath takes SVG files and raster images (JPG, PNG, WebP, BMP, GIF, TIFF) and converts them to .thr (Theta-Rho) or .gcode files for kinetic sand tables like Oasis Mini, Sisyphus, and ZenXY.

For SVGs: traces the actual vector paths for clean, continuous lines — unlike raster/image importers which produce ugly horizontal scanlines.

For images: automatically traces edges, shapes, or line art into vector paths using configurable edge detection, thresholding, or centerline extraction — then converts those paths to sand table format.

Supported input formats

Format Pipeline
SVG Direct → THR/GCode
JPG Trace → SVG → THR/GCode
PNG Trace → SVG → THR/GCode
WebP Trace → SVG → THR/GCode
BMP Trace → SVG → THR/GCode
GIF Trace → SVG → THR/GCode
TIFF Trace → SVG → THR/GCode

Supported devices

Device Shape Output
Oasis Mini Circular .thr
Oasis One Circular .thr
Sisyphus Mini Circular .thr
Sisyphus Coffee Table Circular .thr
Sisyphus End Table Circular .thr
ZenXY (V1E) Rectangular .gcode
Custom Circular Circular .thr
Custom Rectangular Rectangular .gcode

Quick start

# Backend
cd backend && python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload --port 8000

# Frontend (new terminal)
cd frontend && npm install && npm run dev

Open http://localhost:5173

Full documentation

See SETUP.md for:

  • Local development
  • Production deployment
  • DNS & HTTPS
  • Ad integration (Google AdSense)
  • Donations (Buy Me a Coffee)
  • Logging & monitoring
  • Rate limiting & security

About

Translator for raster/vector images to sand art thr files

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors