mesh-avatar-studio
일러스트를 코딩 에이전트와 로컬 편집기로 2D 메쉬 애니메이션 아바타로 변환
브라우저에서 접힘 패턴을 그리고 편집해 결과를 접을 수 있음
Draw and edit crease patterns, design from a tree structure or a box-pleating grid, and fold the result — in the browser. Opens .cp, .fold, .ori and .bps.
디자인TypeScript · RustGitHub @zacharyfmarion온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Design and validate origami models
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Ori Studio aims to be the ultimate workspace for origami design and analysis. It
combines a modern web and desktop interface with a family of Rust and WebAssembly
engines, and it leans heavily on ports of existing origami tools created by the
community. The bulk of the functionality is dedicated to creating and editing origami
crease patterns through a fork of Oriedita. It also
incorporates ports of Treemaker and
Box Pleating Studio.README 전문 보기 ↗Ori Studio aims to be the ultimate workspace for origami design and analysis. It combines a modern web and desktop interface with a family of Rust and WebAssembly engines, and it leans heavily on ports of existing origami tools created by the community. The bulk of the functionality is dedicated to creating and editing origami crease patterns through a fork of Oriedita. It also incorporates ports of Treemaker and Box Pleating Studio.
While the ports serve as the base for functionality, additional tools and functionality
are being built on top of them - for example the edit workspace supports adding images next
to crease patterns, which is useful as you are designing for references of the subject.
Another is Detect CP from Image (File menu, in beta): a photo or render of a square
crease pattern is cropped, run through a detection model, and solved into an
exact, editable pattern — the model downloads once (45 MB) and is kept on the
device; Settings ▸ Models shows what is installed. However, maintaining
compatibility with existing tools is a priority - you will always be able to
export to to a .ori file, which will just omit the images.
The Diagram workspace turns a pattern into printed folding instructions: each step links to a sheet of the crease pattern (shown as its crease pattern, folded, or in the simulator) or takes a card from References, gets fold arrows and symbols, and the steps are laid out on pages and exported as a PDF or a ZIP of pictures.
The Fold workspace folds a sheet step by step, the way you would by hand: locate a line with the Huzita–Justin axioms or an existing crease, then make a valley, mountain or precrease fold, or a reverse, squash, petal, rabbit-ear, swivel, crimp, pleat or sink fold, through the layers you pick. After every step you see the flat folded form and its crease pattern. A sequence can start from a crease pattern, repeat a run of steps on the other side, unfold back to an earlier step, and send its steps to the Diagram as illustrated steps.
Try the hosted app at oristudio.dev. Signed Apple Silicon DMGs are published from local notarized builds on GitHub Releases (other platforms coming soon, community help would be appreciated!).
apps/web: the shared React and Vite frontend used by the browser app and the
Tauri shell.apps/tauri: the Tauri v2 desktop wrapper for native menus, dialogs, window
metadata, and packaging.apps/cp-detect-architecture-inspector: a local debug UI for inspecting the
crease-pattern detection and compiler pipeline stage by stage.Built from this workspace and used by the app. Not currently published to crates.io — see RELEASE.md. Use them by path or git dependency.
treemaker-core: the native Rust engine API for TreeMaker model files,
optimization, feasibility checks, crease-pattern generation, FOLD conversion,
and simulation preparation.treemaker-cli: the treemaker command-line tool for inspecting, checking,
optimizing, and exporting models.treemaker-wasm: wasm-bindgen bindings that expose the engine to browser
and Node workflows.treemaker-fold: generic FOLD data structures and geometry helpers for
origami applications.treemaker-flatfold: flat-foldability and layer-order solving for FOLD
crease patterns.The main TreeMaker engine entry point is treemaker_core::Tree.
These crates power the Edit, box-pleating, Fold, and detection workflows and live in the workspace alongside the TreeMaker engine.
oristudio-cp: the Oriedita-compatible crease-pattern editing kernel.oristudio-cp-wasm: wasm-bindgen bindings for the crease-pattern kernel.oristudio-cp-compiler: the constraint-aware crease-pattern compiler core.oristudio-bp: the Box Pleating Studio-compatible headless kernel.oristudio-bp-wasm: wasm-bindgen bindings for the box-pleating kernel.oristudio-cp-detect: browser crease-pattern detection core types and oracle
fixture plumbing.oristudio-cp-detect-wasm: wasm-bindgen bindings for browser crease-pattern
detection.oristudio-cp-eval: crease-pattern evaluation metrics for detection and
compiler benchmarks.oristudio-cp-detect-inspector: a local Rust API server backing the detection
inspector app.oristudio-fold: the Fold workspace engine: flat folded states, the plain
fold and compound folds.oristudio-fold-wasm: wasm-bindgen bindings for the Fold engine.oristudio-layer-order: layer order for flat folded states: pairwise order,
cell overlay, constraints and a checker.oristudio-geometry: shared origami geometry: tolerance, lines, frames,
Huzita–Justin constructions and convex-polygon primitives.@treemaker/web: the private workspace package for the shared Ori Studio web
app.@treemaker/tauri: the private workspace package for the desktop shell.@treemaker/origami-simulator: the private workspace package that adapts
Origami Simulator-style folding utilities for FOLD inputs.@treemaker/cp-detect-architecture-inspector: the private workspace package
for the crease-pattern detection inspector.Install dependencies:
npm ci
Run the web app:
npm run dev:web
Run the desktop app:
npm run dev:desktop
Use the Rust API:
cargo add treemaker-core
Install the command-line tool:
cargo install treemaker-cli
Use the WebAssembly bindings:
treemaker-wasm = "0.1"
Useful local checks:
cargo fmt --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
npm run lint:web
npm run typecheck:web
npm run test:web
wasm-pack build crates/treemaker-wasm --target bundler
wasm-pack test --node crates/treemaker-wasm
Roadmaps live in WEB_ROADMAP.md and
PRODUCT_ROADMAP.md. Release steps live in
RELEASE.md. Porting notes live in PORTING.md.
Ori Studio builds directly on origami tools created by the community:
treemaker-flatfold, a
Rust port of Flat-Folder's solver.This project is GPL-2.0-or-later because it includes a direct Rust port of
TreeMaker's GPL model code, and because it bundles a second GPL work:
ReferenceFinder — Robert J.
Lang's C++ as extended by Mu-Tsun Tsai and Omri Shavit — compiled to
WebAssembly from vendored source rather than ported. See
LICENSING.md for the full licensing guide, including the GPL
version question for that second work, optimizer backend notes, and the
dependency inventory.