# Native packaging `build-macos-app.sh` builds the release executable with the normal Cargo lockfile and creates `target/release/Tessera.app`. It uses the local Rust toolchain; no mirror or Docker configuration is installed, and no automated tests run. Additional arguments are forwarded to Cargo, such as `--offline` to reuse an already populated cache or temporary `--config` options for a dependency mirror when official crates.io is unavailable. Defaults remain the official source. The local bundle has identifier `com.entroia.tessera` and can be opened from Finder. It is a development app, without a distribution signature or notarization. Check shell syntax with `sh -n scripts/build-macos-app.sh`; native bundle construction and window presentation are verified locally on macOS. Return to the [project guide](../README.md). ## Local verification Build and validate with the native Rust toolchain. The project has no CI/CD workflow or Docker build image. See the [validation commands](../README.md#validation) for formatting, tests and Clippy; window behavior is checked in the running app. ## UML 文档渲染 `render-uml.mjs` 从 `docs/architecture/uml/*.puml` 在本地生成 SVG 和 PNG,输出到 `docs/architecture/uml/rendered/`。固定工具版本与运行步骤见 [UML 图册](../docs/architecture/uml/README.md#重新生成)。这些 Node 工具独立于应用依赖, 不需要 Java、原生 Graphviz 或远程渲染服务。