Materializr
開源參數式 3D CAD 給創客 — 受限草圖、實體建模、螺紋、SVG 與文字雕刻、STL/STEP 匯出。Android、iPad、Linux、Mac、Windows。Vibe 編碼。
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Galleriverse lets creators with no coding or 3D experience build an immersive gallery for their art. They draw rooms on a simple 2D floor plan, set each room's colours, lighting and sound, and hang artwork with titles and stories on the walls. Galleriverse compiles that layout into a 3D gallery that anyone can walk through from a shared link, on a laptop or a phone, with no account needed. The editor is the product; the 3D gallery is what it produces. Built for Hacklanta 2026 (Adobe Creative track).檢視完整 README ↗Galleriverse lets creators with no coding or 3D experience build an immersive gallery for their art. They draw rooms on a simple 2D floor plan, set each room's colours, lighting and sound, and hang artwork with titles and stories on the walls. Galleriverse compiles that layout into a 3D gallery that anyone can walk through from a shared link, on a laptop or a phone, with no account needed. The editor is the product; the 3D gallery is what it produces. Built for Hacklanta 2026 (Adobe Creative track).
Live: https://galleriverse.vercel.app/
| Landing page | 2D floor plan editor |
|---|---|
| 3D POV: preview as a visitor | Top-down overview |
| 3D viewer with artwork plaque | Atmosphere and lighting |
.glb models. The editor's add-object flow is coming next.#002fa7), Archivo and Geist type, and shared UI primitives across the landing page, editor and viewer.npm run predemo to verify the live production site against the full end-to-end flow (publish, tour in a new context, plaque interaction, secret edit key) and print a clear PASS/FAIL verdict before presenting. Works on Windows (cmd, PowerShell, Git Bash), macOS and Linux.Requires Node.js 24. No accounts or API keys are needed: without storage credentials, galleries and images are saved to .data/ on your disk, and accounts use a development-only session secret.
npm ci
npm run dev # http://localhost:3000, editor at /edit/local
Optional environment variables (see .env.example; real values go in your local .env or in Vercel, never in the repo):
| Variable | Purpose |
|---|---|
VULTR_S3_ENDPOINT, VULTR_S3_BUCKET, VULTR_S3_ACCESS_KEY, VULTR_S3_SECRET_KEY | Vultr Object Storage; unset = local .data/ |
AUTH_SECRET | Signs the login session cookie (32+ random bytes) |
| Script | What it does |
|---|---|
npm test | Unit tests (Vitest) |
npm run test:e2e | Browser tests (Playwright), see tests/e2e/ |
npm run predemo | Pre-demo check against live site (E2E_BASE_URL) |
npm run lint | ESLint |
npm run typecheck | Generates Next route types, then tsc --noEmit |
npm run format | Prettier |
npm run build | Production build |
The first time you run the browser tests, install Chromium with npx playwright install chromium.
The creator only ever edits one gallery document in 2D. A pure function, compile(), turns it into a SceneModel: plain data describing floors, wall segments, doorways, picture frames and objects. The 3D renderer reads only that model.
flowchart LR
E["2D editor<br/>rooms, walls, artwork"] -- store actions --> G["Gallery JSON"]
G -- "compile()" --> S["SceneModel<br/>floors, walls, doorways, frames, objects"]
S --> R["3D scene<br/>React Three Fiber"]
G -- publish --> API["/api/galleries"] --> V["Shared view link"]
compile() cuts an opening 1.2 m wide and 2.2 m high, centred on the overlap, then splits each wall into solid pieces around it.compile() has no three.js inside. It is plain TypeScript, so it is unit-tested directly, and the same tour component powers both the editor's 3D POV and the shared viewer./api/files; private records (accounts) are never served.Quang, Vic, Parth and Sergio.
Inspired by basement.studio's website (basementstudio/website-2k25). No code, shaders, models, textures or fonts were copied.
The built-in object library (public/library/) uses CC0 models from Poly Haven. Textures were resized and the files packed into single .glb files.
| Object | Author | Source |
|---|---|---|
| Classic armchair | Kirill Sannikov | polyhaven.com/a/ArmChair_01 |
| Leather ottoman | Caspian Fortune | polyhaven.com/a/Ottoman_01 |
| Painted bench | Kirill Sannikov | polyhaven.com/a/painted_wooden_bench |
| Wooden stool | Kirill Sannikov | polyhaven.com/a/chinese_stool |
| Round coffee table | Ulan Cabanilla | polyhaven.com/a/coffee_table_round_01 |
| Potted succulent | James Ray Cock | polyhaven.com/a/potted_plant_04 |
| Ceramic vase | James Ray Cock | polyhaven.com/a/ceramic_vase_01 |
| Brass vase | Rico Cilliers | polyhaven.com/a/brass_vase_03 |
| Marble bust | Rico Cilliers | polyhaven.com/a/marble_bust_01 |
| Horse statue | Rico Cilliers | polyhaven.com/a/horse_statue_01 |
| Standing photo frame | James Ray Cock | polyhaven.com/a/standing_picture_frame_01 |
| Vintage oil lamp | Monsta3D | polyhaven.com/a/vintage_oil_lamp |