Sobre el proyecto

Ori Studio es un espacio de trabajo para el diseño y análisis de origami. Combina un frontend compartido React/Vite (utilizado tanto por una aplicación de navegador como por un shell de escritorio Tauri v2) con una familia de motores Rust y WebAssembly. Gran parte de su funcionalidad proviene de puertos de herramientas comunitarias de origami, con nuevas funciones superpuestas. Capacidades principales descritas en el README: - Creación y edición de patrones de pliegue, basadas en un puerto Rust/WebAssembly del editor Oriedita (en sí mismo una bifurcación de Orihime), incluidos diagnósticos de plegabilidad, reparaciones y formatos de archivo. - Modelado derivado de TreeMaker: el motor Rust treemaker-core cubre archivos de modelo, optimización, comprobaciones de viabilidad, generación de patrones de pliegue, conversión FOLD y preparación de simulación; treemaker-cli ofrece una herramienta de línea de comandos para inspeccionar, comprobar, optimizar y exportar modelos. - Autoría de box-pleating mediante un núcleo headless portado desde Box Pleating Studio. - Un espacio de trabajo Simulate que pliega bases en un modelo 3D interactivo utilizando un puerto TypeScript de Origami Simulator. - Un método Search 22.5° que envía un árbol a ExplOri y muestra las coincidencias más cercanas. - "Detect CP from Image" (beta): una foto o renderizado de un patrón de pliegue cuadrado se recorta, se procesa mediante un modelo de detección y se resuelve en un patrón editable exacto. El modelo se descarga una vez (45 MB) y permanece en el dispositivo; Configuración ▸ Modelos muestra qué está instalado. - El espacio de trabajo Edit permite añadir imágenes de referencia junto a los patrones de pliegue; las exportaciones a `.ori` omiten las imágenes para preservar la compatibilidad con las herramientas existentes. La estructura del repositorio incluye apps/web (frontend compartido), apps/tauri (envoltorio de escritorio) y apps/cp-detect-architecture-inspector (una UI de depuración local para inspeccionar etapa por etapa el pipeline de detección y compilación). Los crates expuestos incluyen treemaker-core, treemaker-cli, treemaker-wasm, treemaker-fold, treemaker-flatfold, además de oristudio-cp, oristudio-cp-wasm, oristudio-cp-compiler, oristudio-bp, oristudio-bp-wasm, oristudio-cp-detect, oristudio-cp-detect-wasm, oristudio-cp-eval y oristudio-cp-detect-inspector. Los paquetes del workspace de npm incluyen @treemaker/web, @treemaker/tauri, @treemaker/origami-simulator y @treemaker/cp-detect-architecture-inspector. Para empezar: `npm ci` y después `npm run dev:web` o `npm run dev:desktop`. Uso de Rust mediante `cargo add treemaker-core` o `cargo install treemaker-cli`; vinculaciones de WebAssembly mediante `treemaker-wasm = "0.1"`. Las comprobaciones de desarrollo incluyen cargo fmt/clippy/test, npm lint/typecheck/test para la aplicación web, y wasm-pack build/test para el crate WASM de TreeMaker. Hay una aplicación alojada disponible en oristudio.dev. Los DMG firmados para Apple Silicon se publican a partir de compilaciones locales notarizadas en GitHub Releases; se indica que otras plataformas aún no están disponibles. El proyecto tiene la licencia GPL-2.0-or-later porque incluye un puerto directo en Rust del código de modelo GPL de TreeMaker y empaqueta ReferenceFinder compilado para WebAssembly a partir de fuente vendored.