Materializr
Open-source parametric 3D CAD for makers — constraint sketches, solid modeling, threads, SVG & text engraving, STL/STEP export. Android, iPad, Linux, Mac, Windows. Vibe coded.
翻译准备中
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证App para agregar fondo transparete o crear iconos a partir de imagenes
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Interactive background-removal tool. One React codebase ships as:
Cutout workspace — box select, one-click auto cut (border background
modeling), keep/remove brushes with live ghost cursor, marching-ants
selection, edge feathering, undo, keyboard shortcuts (A 1 2 3
[ ] E ⌘Z), drag & drop and clipboard paste.
Export — transparent PNG, WebP/JPEG, solid color or image background, copy straight to the clipboard.
Icon Studio — turns the cutout (or any PNG) into complete app icon sets:
iOS AppIcon.appiconset (+ legacy sizes), Android mipmaps + adaptive +
Play Store, macOS AppIcon.iconset, a real multi-resolution Windows .ico,
favicons + PWA manifest + maskable icon — all zipped in the browser with
zero dependencies (own ZIP/ICO writers in src/lib/zip.js / icons.js).
make_icons.py — the same icon pipeline as a Python CLI
(public/make_icons.py, Pillow only; auto-.icns via iconutil on macOS):
pip install pillow
python make_icons.py logo.png -o app-icons --padding 0.08 --name "Mi App"
This is an original implementation. It is not affiliated with, derived from, or
a copy of any existing product. The cutout engine (photocut-core) is written from
scratch.
photocut/
├─ crates/photocut-core/ Rust GrabCut engine (MIT OR Apache-2.0 deps only)
│ ├─ src/gmm.rs Gaussian mixture color models
│ ├─ src/maxflow.rs Boykov–Kolmogorov min-cut (from scratch)
│ ├─ src/grabcut.rs Iterated graph-cut orchestration
│ └─ src/lib.rs Public API + compositing + tests
├─ src-tauri/ Tauri desktop shell (Rust backend, commands)
├─ src/ React frontend
│ ├─ App.jsx Toolbar, modes, export
│ ├─ components/CanvasEditor.jsx
│ └─ lib/
│ ├─ backend.js Routes to Tauri (desktop) OR JS engine (web)
│ └─ jsEngine.js Browser-only fallback segmenter
└─ ...
The single decision point is src/lib/backend.js: it detects Tauri at runtime
and calls the Rust commands when present, otherwise runs in-browser. The React UI
never changes between the two products.
Evergreen browsers. Minimum tested versions:
| Browser | Min | Notes |
|---|---|---|
| Chrome / Edge | 111+ | full experience (worker engine) |
| Firefox | 113+ | full experience |
| Safari | 16.4+ | full experience |
| Safari | 16.2–16.3 | works; engine runs inline on the main thread (no OffscreenCanvas) — brief UI freezes on large photos |
Below those versions, color-mix() / backdrop-filter degrade the visuals
but the app remains functional. No IE, no legacy Edge.
Web (no Rust needed):
npm install
npm run dev # http://localhost:5173
Desktop (Rust required):
npm install
npm run tauri dev
Web bundle:
npm run build # outputs static site to dist/ — host anywhere
Desktop installers (.dmg / .msi / .deb / .AppImage):
npm run tauri build # outputs to src-tauri/target/release/bundle/
Rust (desktop):
cargo test -p photocut-core
Web (smoke tests in your installed Chrome, headless — segmentation accuracy, worker RPC, compositing, icon ZIP, preview panel, 12MP perf benchmark):
npm run test:web
(Each suite is also a plain page under test/*.html if you want to watch it
run: npm run dev and open them.)
You can sell both products. Notes:
photocut-core dependencies are all permissive (MIT / Apache-2.0):
image, nalgebra, thiserror. No GPL/LGPL/copyleft anywhere in the tree.
Run cargo tree and cargo deny (recommended) before each release to confirm
no copyleft dependency sneaks in via an update.LICENSE); keep the copyright in
src-tauri/tauri.conf.json consistent with it in src-tauri/tauri.conf.json (copyright, identifier,
productName).bundle.macOS / bundle.windows in tauri.conf.json. Tauri also has a built-in
updater plugin for shipping updates to paying customers.The browser fallback in jsEngine.js is intentionally simple. For parity with
desktop, compile photocut-core to WebAssembly (add a wasm-bindgen wrapper crate
and load it from backend.js). Then both products share the exact same engine.
PhotoCut's own code (web app, desktop app and the Rust engine) is released under the MIT License.
Third-party components keep their own licenses:
npm run licenses.public/licenses/ai-models-NOTICE.txt.