Materializr
開源參數式 3D CAD 給創客 — 受限草圖、實體建模、螺紋、SVG 與文字雕刻、STL/STEP 匯出。Android、iPad、Linux、Mac、Windows。Vibe 編碼。
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
A browser-based design tool for Arabic calligraphy.
Compose Arabic text on a canvas, flow it along a curve or pour it into a
shape, adjust individual letters and diacritics by hand, and export to PNG,
JPEG, SVG or PDF.
Text is shaped with real HarfBuzz compiled to WebAssembly — the same
engine your browser and operating system use — not a JavaScript
approximation. Letters connect, contextual forms are chosen by the font's
own rules, and ligatures fuse where the font says they should.檢視完整 README ↗A browser-based design tool for Arabic calligraphy.
Compose Arabic text on a canvas, flow it along a curve or pour it into a shape, adjust individual letters and diacritics by hand, and export to PNG, JPEG, SVG or PDF.
Text is shaped with real HarfBuzz compiled to WebAssembly — the same engine your browser and operating system use — not a JavaScript approximation. Letters connect, contextual forms are chosen by the font's own rules, and ligatures fuse where the font says they should.
Typesetting
.ttf/.otfLetter-level control — the part that makes it a calligraphy tool rather than a text box
Stretch individual strokes. A letter's straight strokes are detected automatically from its own outline; drag the handle along one to lengthen it, in half-nuqta steps (Alt for free amounts) — the rhombic dot a reed nib makes, the unit traditional Arabic calligraphy actually measures in. Coverage varies by font and letterform; not every stroke offers a handle.
Next Shape. Click a letter to step through the alternate shapes its font contains — looped, tailed, swash and justification forms — with labelled thumbnails in the sidebar — or tick one of the font's named style sets to restyle every matching letter at once.
Kashida. Insert real elongation (U+0640) at any legal join in a run — the connecting stroke is drawn at the letters' own weight, not a deformed outline — or hit Fit to width and let it solve the counts automatically to span a target.
Per-mark diacritic control. Move, resize or hide any single tashkeel mark without touching the text underneath, on plain text and Shape Fill blocks alike.
Composition
npm install
npm run dev
Then open the URL Vite prints (usually http://localhost:5173).
npm run build # production build
npm test # test suite
npm run lint
Node 20+ recommended. No API keys or services are required — cloud sync is optional and the app runs fully offline without it.
Named projects are stored in your browser by default. To also sync them to an account, set
VITE_SUPABASE_URL=...
VITE_SUPABASE_ANON_KEY=...
and apply the migration in supabase/migrations/. Without these the cloud
UI is hidden entirely and nothing else changes. Sign-in is email magic-link
only.
Please read this before redistributing anything from public/fonts/.
The bundled fonts come from several sources under several licences, and every one of them has been modified — a set of ten honorific symbols (ﷺ and similar) was merged into each file so those glyphs render regardless of which face is selected. A modified font is not the upstream font, and some licences constrain what you may then do with it.
One case is documented in full as the worked example: HarfCanvasDiwani.ttf
is a modified version of Layla Diwani (OFL, Mohammed Isam), renamed as the
OFL requires because the upstream reserves its name. Its licence and a note
on what changed sit beside it in public/fonts/HarfCanvasDiwani-OFL.txt.
The provenance of the remaining faces is not fully documented in this
repository. If you intend to redistribute this project or its fonts, verify
each file's licence yourself first. scripts/FONTS.md describes the tooling
and the obligations that come with modifying a font.
The source code is MIT licensed — see LICENSE.
That grant covers the code only. It explicitly does not cover the font
files in public/fonts/, which are third-party typefaces under their own
terms, as set out in the scope note at the bottom of the licence file and in
the section above.
CLAUDE.md — the engineering guide: architecture, the reasoning behind
each subsystem, and the traps. Long, and worth reading before changing
rendering or shaping code.PROGRESS.md — what shipped when, what is known-broken, and what is
deliberately not built yet.docs/superpowers/specs/ — design documents for individual features.scripts/FONTS.md — adding and measuring fonts.Actively developed, pre-1.0, and honest about its edges — see PROGRESS.md
for current limitations. Built with React 19, TypeScript, Vite, Konva,
harfbuzzjs and opentype.js.