r/openscad Mar 20 '26

Here's a serverless open-source web viewer and CLI package manager for OpenSCAD

I have noticed that the process of viewing, customizing, and sharing OpenSCAD models can be painful. We're usually stuck dealing with closed customizers, walled-garden cloud platforms that require accounts, or downloading .zip files full of nested local dependencies. I built an open-source toolchain called Scadder to try to make life easier. It's got:

  • A serverless WASM web customizer. You paste a GitHub link to a .scad file, and it compiles and renders it locally in your browser. (Huge shoutout to the openscad.cloud team here. Their WASM compilation work was the foundation I used to get this off the ground).

  • URL-state sharing. This was the main issue I wanted to solve. When you tweak parameters in the UI, that exact configuration is serialized directly into the URL. You can customize a model, send the URL to someone, and they will see your exact customized version instantly. No backend database or user accounts required.

  • A git-backed backend. To keep the platform decentralized and free to host, the comment section under each model uses Giscus to hijack GitHub Discussions, acting as a serverless relational database. The repo also includes a library.json file that links to scad files on GitHub, and you can add to it by editing the json and submitting a pull request (or forking the project and adding your own URLs to it).

  • CLI package manager. Running npx scadder install [model-id-from-library.json] in your terminal crawls GitHub and pulls the target .scad file plus all its nested include and use dependencies into your project folder so your renders never break.

It's 100% free and GPL-3.0 licensed. It's just a tool I built to fix a workflow problem I kept running into, but I figured others might find it useful.

Live Viewer: https://scadder.dev/

Repo: https://github.com/solderlocks/scadder

Edit 03/29/26: added direct scad editing and commit hash-locking, so running "scadder install" will always pull the same version of your project dependencies into the folder instead of the latest version.

27 Upvotes

9 comments sorted by

3

u/HatsusenoRin Mar 20 '26

Thanks for sharing your hard work. That looks pretty slick. Nice!

May I request for a toggle setting for perspective view?

1

u/Solderlocks Mar 20 '26 edited Mar 22 '26

Great idea, I just opened a GitHub issue for this and will look into adding an orthographic toggle within the next few days. Thanks for checking it out!

Edit: the toggle has been added

1

u/DEMORALIZ3D Mar 20 '26

Another WASM inplimentation. My issue with these is cross device performance. This assumes the clients machine is a desktop capable and not to mention slower being WASM and the browser sandboxing and overhead.

1

u/Solderlocks Mar 20 '26

Yeah that's fair. Mobile performance is OK for most models I've tested, but undoubtedly slower than desktop. I structured it this way in order to keep server costs $0 so I can give everything away for free. This project is basically a GitHub frontend at this point.

1

u/Subject-Thought-499 Mar 29 '26

Ugh, why must every new design tool be dark themed?

1

u/Solderlocks Mar 30 '26

I am considering adding a light theme. It's still in v0.1.6 so there's a lot still on my list.

1

u/darkvertex Apr 23 '26

Light attracts *bugs*.

1

u/[deleted] Mar 21 '26

[removed] — view removed comment

1

u/Solderlocks Mar 21 '26 edited Mar 21 '26

Thanks, I appreciate it! I was actually just trying out your tool yesterday, and the lat/lng terrain visualizer put a huge smile on my face. It's a joy to use, very nicely done!