Materializr
開源參數式 3D CAD 給創客 — 受限草圖、實體建模、螺紋、SVG 與文字雕刻、STL/STEP 匯出。Android、iPad、Linux、Mac、Windows。Vibe 編碼。
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Design generator for 3D printing. Pick an object (123 across home goods, figurines, spiritual, jewelry and geometry), layer on a style, and render it in the cloud with Flux. Turn a render into a printable STL with Tripo. Live at podder.dev.
The app is a single static page plus a handful of serverless functions. No build step, no npm dependencies.
index.html the whole app (UI + prompt engine)
brochure.html the public design book (/brochure), data in brochure/
terms.html /terms privacy.html /privacy
api/generate.js renders (Replicate Flux), debit first, refund on failure
api/model3d.js image -> STL (Tripo); tasks tied to the account that paid
api/checkout.js Stripe checkout api/claim.js + api/stripe-webhook.js fulfil purchases
api/me.js balance + ledger; also settles failed 3D jobs
api/config.js public client config (Supabase URL + anon key, prices)
api/account.js DELETE: user deletes their own account
api/auth.js owner PIN check (per-IP lockout after 10 wrong tries an hour)
api/admin/grant.js owner: grant or remove credits by email
api/brochure.js owner edits to the design book
supabase/migrations schema; apply in order
scripts/preflight.mjs runs as Vercel's build step and blocks a broken catalog
| Variable | What |
|---|---|
SUPABASE_URL, SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY | accounts and credits |
STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET | payments |
REPLICATE_API_TOKEN | renders (without it, renders are free labeled mocks) |
TRIPO_API_KEY | 3D models (the button only appears when set) |
RENDER_REVIEW_KEY | Anthropic API key for "Report bad render" (the button stays hidden without it) |
ALERT_WEBHOOK_URL | optional Discord/Slack webhook for error alerts |
PODDER_PIN | owner access: unlimited, unbilled. Use a long random value. |
PUBLIC_ORIGIN | optional, e.g. https://www.podder.dev, for Stripe return URLs |
Prices, packs and the signup bonus live in api/_lib/config.js; the bonus amounts themselves are granted by the database triggers (see the migrations).
node dev-server.mjs
Opens http://localhost:8299. Renders are mocks unless REPLICATE_API_TOKEN is set.
Rendered images, favorites and history live in the browser (IndexedDB + localStorage), not on the server. Saved STLs are remembered by Tripo task id and re-fetched on demand, since Tripo's file links expire.