- Parametric design - change any dimension and regenerate
- Two part design where the lid screws to the body with heat set inserts
- Designed for vertical printing without supports
- Print in place kickstand
- USB cutout hole in the back
- Hole for hanging the frame on the wall
- Custom number of screws on any edge
- Custom cutouts on any side
Features a kickstand. The case depth for electronics is 12mm.
The case depth for electronics is 10mm.
Install Flox, clone the repo, and activate the project environment:
flox activateOpen any of the .scad files directly from that shell, or run the build:
npm run buildRender all .scad files from cases/ at the tracked camera angles. The Flox environment uses OpenSCAD unstable/nightly, and the visual regression renderer uses full OpenSCAD rendering instead of preview rendering. By default this writes 4000x3000 PNGs for iso-front, iso-back, top, and bottom:
flox activate -- npm run render:visualCheck that the generated snapshots match git:
flox activate -- npm run test:visualThe snapshots are written to visual-regressions/. GitHub Actions runs the same check and fails when rendering changes any tracked PNG, deletes a stale PNG, or creates a new untracked PNG.

