Materializr
오픈소스 파라메트릭 3D CAD로 제약 스케치·솔리드 모델·나사·SVG·텍스트 조각·STL/STEP 내보내기를 지원합니다
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
An open-source visual creation platform built on a real design engine. Every element stays editable — text, images, shapes, frames and layers — and Arabic is supported properly from day one.
Website: devehab.github.io/OpenCanvas (English and Arabic, with recorded demos of every feature)README 전문 보기 ↗An open-source visual creation platform built on a real design engine. Every element stays editable — text, images, shapes, frames and layers — and Arabic is supported properly from day one.
Website: devehab.github.io/OpenCanvas (English and Arabic, with a one-minute video tour and recorded demos of every feature)
OpenCanvas is not a template viewer or a UI prototype. Designs are structured documents; every change is a validated, undoable command; the same renderer draws the editor, every export and the server-side tests. That foundation is what later phases — templates, brand kits, video, real-time collaboration and AI that edits designs instead of generating flat images — are built on.
.opencanvas format.One line, nothing to install first (no Node.js, pnpm or Git). It downloads everything it needs, runs OpenCanvas in the background on port 4790 (3000 stays free for your own projects), starts it with the computer and opens it in your browser.
macOS and Linux (Terminal):
curl -fsSL https://raw.githubusercontent.com/Devehab/OpenCanvas/HEAD/install.sh | bash
Windows (PowerShell, no administrator rights needed):
irm https://raw.githubusercontent.com/Devehab/OpenCanvas/HEAD/install.ps1 | iex
Then use the opencanvas command:
| Command | What it does |
|---|---|
opencanvas stop | Stops it; it no longer starts with the computer |
opencanvas start | Starts it again, and with the computer from now on |
opencanvas status | Is it running, and where |
opencanvas open | Opens it in the browser |
opencanvas update | Installs the latest version (keeps the port, so your designs stay) |
opencanvas cloud | Keep your work in your own R2 / S3 bucket too (or change it) |
opencanvas uninstall | Removes it (designs stay in the browser and in your bucket) |
Your computer, or your cloud too. The installer asks once where to keep your work: on this computer only, or also in your own Cloudflare R2 or Amazon S3 bucket. With the cloud, everything is saved on the computer first and synced when online; without internet it keeps working, marks what is "This computer only", and uploads it when the connection is back. Reinstalling (or a new computer) with the same bucket brings everything back. The keys stay on your computer. Change it any time with opencanvas cloud (how it works).
Options: OPENCANVAS_PORT=5000 picks another port on the first install, OPENCANVAS_VERSION=v0.1.0 a specific release. The installers are tested on fresh macOS, Windows, Ubuntu, Debian, Fedora and Alpine machines by the install test workflow. New versions are published by the Release workflow (Actions → Release → Run workflow).
Requirements: Node.js 22+ and pnpm 10 (corepack enable).
pnpm install
pnpm dev # http://localhost:3000
Production:
pnpm build && pnpm start # or:
docker compose up -d --build
See deployment for Docker, Coolify and Hetzner.
UI (React) ──dispatch──▶ Commands ──▶ Transactions ──▶ Document store ──▶ Renderer (Canvas2D)
▲ (validated) (atomic) (records) editor · exports · Node
└──── subscribe ◀── Editor state ◀── History (diffs) ◀──┘
React never owns design state; the document model does. Read the architecture for the store, history, text engine, rendering, persistence and security model.
| Package | Role |
|---|---|
@opencanvas/core | Document model, schemas, store, commands, history, geometry, text layout, serialization |
@opencanvas/renderer | Canvas2D renderer for the browser and Node (Skia) |
@opencanvas/export | PNG/JPEG/WebP, SVG, PDF, .opencanvas packages, upload validation |
@opencanvas/editor | Selection, tools, gestures, snapping, keyboard, clipboard, text editing, canvas view |
@opencanvas/web | Next.js dashboard and editor, local persistence, English/Arabic UI |
pnpm lint && pnpm typecheck
pnpm test # Vitest
pnpm build && pnpm test:e2e # Playwright
Details, including how each item of the spec's test plan maps to a suite: docs/testing.md.
Phase 1, the editor engine, is complete. Next: the design platform (accounts, server sync, templates, brand kits, fonts, vector PDF), then video, collaboration, AI, the visual suite and the plugin ecosystem. See the roadmap and the full product specification.
Contributions are welcome — start with CONTRIBUTING.md and the Definition of Done. Please report security issues privately (SECURITY.md).
MIT. The bundled icon library comes from Lucide (ISC), Tabler Icons, Bootstrap Icons, Heroicons, Hugeicons (the free set), Radix Icons and Flag Icons (MIT), and Material Icons and Remix Icon 4.6.0 (Apache 2.0), all free for commercial use; see their licenses. Regenerate it with node scripts/generate-icon-library.mjs, which also checks every icon against its original drawing.
OpenCanvas منصّة مفتوحة المصدر للتصميم المرئي، مبنيّة على محرّك تصاميم حقيقي: يبقى كل عنصر قابلًا للتعديل — النصوص والصور والأشكال والإطارات والطبقات — ولا يُحفَظ التصميم صورةً مسطّحة أبدًا.
الموقع: devehab.github.io/OpenCanvas، وفيه جولة مصوّرة بالعربية في دقيقة واحدة.
لا تحتاج إلى تثبيت أي شيء مسبقًا، فلا Node.js ولا pnpm ولا Git. ينزّل المثبّت كل ما يحتاج إليه، ويشغّل OpenCanvas في الخلفية على المنفذ 4790 (ويبقى المنفذ 3000 متاحًا لمشاريعك)، ويجعله يعمل تلقائيًا مع تشغيل الجهاز، ثم يفتحه في متصفحك.
على macOS وLinux افتح الطرفية (Terminal) والصق:
curl -fsSL https://raw.githubusercontent.com/Devehab/OpenCanvas/HEAD/install.sh | bash
وعلى Windows افتح PowerShell والصق (دون صلاحيات المسؤول):
irm https://raw.githubusercontent.com/Devehab/OpenCanvas/HEAD/install.ps1 | iex
ثم تحكّم به بالأمر opencanvas:
| الأمر | ما يفعله |
|---|---|
opencanvas stop | يوقفه، فلا يعمل مع تشغيل الجهاز بعد ذلك |
opencanvas start | يشغّله من جديد، ويعمل مع تشغيل الجهاز من الآن |
opencanvas status | هل يعمل؟ وعلى أي عنوان؟ |
opencanvas open | يفتحه في المتصفح |
opencanvas update | يثبّت أحدث إصدار ويحافظ على المنفذ، فتبقى تصاميمك |
opencanvas cloud | يحفظ عملك في حاوية R2 أو S3 الخاصة بك أيضًا (أو يغيّرها) |
opencanvas uninstall | يزيله من الجهاز، وتبقى التصاميم في المتصفح وفي حاويتك |
جهازك، أو سحابتك أيضًا: يسألك المثبّت مرة واحدة: هل تحفظ عملك على هذا الجهاز فقط، أم في حاوية Cloudflare R2 أو Amazon S3 الخاصة بك أيضًا؟ مع السحابة يُحفَظ كل شيء على الجهاز أولًا ثم يُزامَن عند الاتصال. ودون إنترنت تتابع عملك، ويظهر ما لم يُرفع بعلامة «على هذا الجهاز فقط»، ثم يُرفع حين يعود الاتصال. وإذا أعدت التثبيت أو انتقلت إلى جهاز جديد واخترت الحاوية نفسها، تعود مكتبتك كاملة. (التفاصيل)
pnpm install
pnpm dev # http://localhost:3000
docker compose up -d --build # للنشر
اكتملت المرحلة الأولى (محرّك التصميم)، وتليها منصّة التصميم: الحسابات والمزامنة مع الخادم والقوالب وهويات العلامات التجارية، ثم الفيديو والتعاون والذكاء الاصطناعي. التفاصيل في خارطة الطريق ومواصفات المنتج.