From fbbfaffa58b6c482be071f46c8d8acf519b179ab Mon Sep 17 00:00:00 2001 From: "liblaf-release-please[bot]" <239320284+liblaf-release-please[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 13:19:59 +0000 Subject: [PATCH 1/2] chore(release): v0.8.0 --- CHANGELOG.md | 362 ++++++++++++++++++++++++++++----------------------- 1 file changed, 202 insertions(+), 160 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5af340bd7..c25596275 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ - + # Changelog @@ -7,7 +7,48 @@ All notable changes to this project will be documented in this file. The format is based on [Conventional Changelog](https://github.com/conventional-changelog/conventional-changelog-config-spec/blob/master/versions/2.2.0/README.md), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [0.7.0](https://github.com/liblaf/apple/releases/tag/v0.7.0) - 2025-12-06 +## [v0.8.0](https://github.com/liblaf/apple/releases/tag/v0.8.0) - 2026-05-18 + +### 💥 BREAKING CHANGES + +- Refactored warp elastic energy module structure - [100c251](https://github.com/liblaf/apple/commit/100c2513fb39071e8eabe355aa4148964fdbd121) by [@liblaf](https://github.com/liblaf) +- remove the previous model, inverse, optim, scene, utils, consts, jax.model, and warp.energies APIs; use the new forward, collision, common, and warp.fem modules instead - [b7c4348](https://github.com/liblaf/apple/commit/b7c4348ea1d9f41efc19cedde8116a845c12a06f) by [@liblaf](https://github.com/liblaf) + +### ✨ Features + +- **(apple)** improve inverse simulation with coarse-to-fine transfer and enhanced solvers - [61d530e](https://github.com/liblaf/apple/commit/61d530e5230b07c38db367a13fc5a6deb59e48e2) by [@liblaf](https://github.com/liblaf) +- **(apple)** implement hybrid JAX/Warp model framework and WarpPhaceV2 - [315b58e](https://github.com/liblaf/apple/commit/315b58e1a5ac8ce1f058a44944c688a5f7f713b1) by [@liblaf](https://github.com/liblaf) +- **(apple)** add SMAS support and volume fraction for elastic energies - [0710f9c](https://github.com/liblaf/apple/commit/0710f9cf2d9ebe6a7b5ad3d081be3c5f0266e2dd) by [@liblaf](https://github.com/liblaf) +- **(exp)** update inverse-toy simulation and add Newton solver - [cee4852](https://github.com/liblaf/apple/commit/cee4852cc9ecf957995331dc796da4ac2e6cdf88) by [@liblaf](https://github.com/liblaf) +- **(exp)** add SMAS forward simulation experiments - [e27c9da](https://github.com/liblaf/apple/commit/e27c9daf35ccf2355572decee3c1e3595bfcc508) by [@liblaf](https://github.com/liblaf) +- **(inverse)** enhance inverse solver with constraint support and improved adjoint solver - [892dbfd](https://github.com/liblaf/apple/commit/892dbfd616dd801f1d642ffb1620f55b86942530) by [@liblaf](https://github.com/liblaf) +- **(smas)** add stable neo-hookean simulation experiments - [22accae](https://github.com/liblaf/apple/commit/22accae0da9443aced31ff82f047702457c12426) by [@liblaf](https://github.com/liblaf) +- add inverse toy experiments for forward simulation and muscle activation - [19c2c46](https://github.com/liblaf/apple/commit/19c2c46438b85770d7dc4a11971b2d3a05672777) by [@liblaf](https://github.com/liblaf) +- **\[breaking\]** refactor elastic energies and add inverse physics module - [100c251](https://github.com/liblaf/apple/commit/100c2513fb39071e8eabe355aa4148964fdbd121) by [@liblaf](https://github.com/liblaf) +- add Neo-Hookean Warp energies and line-search PNCG - [0dbe70c](https://github.com/liblaf/apple/commit/0dbe70ccb422cac1de519f9cd34bc00fb46bc652) by [@liblaf](https://github.com/liblaf) +- add staged PNCG continuation for forward solves - [6362af3](https://github.com/liblaf/apple/commit/6362af3055c1aa3848ba9122a55ae03db371079d) by [@liblaf](https://github.com/liblaf) + +### 🐛 Bug Fixes + +- **(warp)** correct ARAP muscle energy implementation and kernel function names - [d734e9b](https://github.com/liblaf/apple/commit/d734e9bf3909551158ae800dead9611c2c6e1175) by [@liblaf](https://github.com/liblaf) + +### 📝 Documentation + +- **(smas)** update inverse-unreachable clipped figures - [ed3b81a](https://github.com/liblaf/apple/commit/ed3b81a01add8157d7afb9444c554c947a8303e7) by [@liblaf](https://github.com/liblaf) + +### 🎨 Styles + +- collapse multi-line return expressions to single line - [0603f83](https://github.com/liblaf/apple/commit/0603f837a39485a07ffae7ec97ce69d832042bf0) by [@liblaf](https://github.com/liblaf) + +### ♻️ Code Refactoring + +- **\[breaking\]** replace model stack with forward simulation API - [b7c4348](https://github.com/liblaf/apple/commit/b7c4348ea1d9f41efc19cedde8116a845c12a06f) by [@liblaf](https://github.com/liblaf) + +### ❤️ Contributors + +- [@liblaf](https://github.com/liblaf) + +## [v0.7.0](https://github.com/liblaf/apple/releases/tag/v0.7.0) - 2025-12-07 ### 💥 BREAKING CHANGES @@ -15,45 +56,46 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### ✨ Features -- **apple:** implement inverse simulation framework and ARAP active model - [1f0e475](https://github.com/liblaf/apple/commit/1f0e47519fdeb81723a7bee20d0f7877b521198d) by [@liblaf](https://github.com/liblaf) -- **inverse:** Return aux from value_and_grad method - [d625b25](https://github.com/liblaf/apple/commit/d625b2522ecbed037c988e1330409822a1c3ecb7) by [@liblaf](https://github.com/liblaf) -- **model, inverse:** Implement inverse problem solving for activation - [c48d725](https://github.com/liblaf/apple/commit/c48d725cc57d49be7b9ce78267d4a03d34847818) by [@liblaf](https://github.com/liblaf) -- **warp:** implement ARAP energy with improved Hessian computation - [5013ddc](https://github.com/liblaf/apple/commit/5013ddc0ff3b1275dca2c69f4990258471f12a79) by [@liblaf](https://github.com/liblaf) -- **warp:** Enable differentiation of Warp energy parameters - [fedd68c](https://github.com/liblaf/apple/commit/fedd68c400dbe921940606e45cbde85ec1297556) by [@liblaf](https://github.com/liblaf) -- **warp:** implement ARAP muscle and PHACE hyperelastic models - [e1f0d43](https://github.com/liblaf/apple/commit/e1f0d43f7ab5bf4807614ccd549bd7149156ddfb) by [@liblaf](https://github.com/liblaf) +- **(apple)** implement inverse simulation framework and ARAP active model - [1f0e475](https://github.com/liblaf/apple/commit/1f0e47519fdeb81723a7bee20d0f7877b521198d) by [@liblaf](https://github.com/liblaf) +- **(inverse)** Return aux from value_and_grad method - [d625b25](https://github.com/liblaf/apple/commit/d625b2522ecbed037c988e1330409822a1c3ecb7) by [@liblaf](https://github.com/liblaf) +- **(model, inverse)** Implement inverse problem solving for activation - [c48d725](https://github.com/liblaf/apple/commit/c48d725cc57d49be7b9ce78267d4a03d34847818) by [@liblaf](https://github.com/liblaf) +- **(warp)** implement ARAP energy with improved Hessian computation - [5013ddc](https://github.com/liblaf/apple/commit/5013ddc0ff3b1275dca2c69f4990258471f12a79) by [@liblaf](https://github.com/liblaf) +- **(warp)** Enable differentiation of Warp energy parameters - [fedd68c](https://github.com/liblaf/apple/commit/fedd68c400dbe921940606e45cbde85ec1297556) by [@liblaf](https://github.com/liblaf) +- **(warp)** implement ARAP muscle and PHACE hyperelastic models - [e1f0d43](https://github.com/liblaf/apple/commit/e1f0d43f7ab5bf4807614ccd549bd7149156ddfb) by [@liblaf](https://github.com/liblaf) ### 🐛 Bug Fixes -- **warp/energies:** Improve robustness of hyperelastic Hessian calculations - [9ea10f5](https://github.com/liblaf/apple/commit/9ea10f5a00a591e49ed05507290589940339e827) by [@liblaf](https://github.com/liblaf) +- **(warp/energies)** Improve robustness of hyperelastic Hessian calculations - [9ea10f5](https://github.com/liblaf/apple/commit/9ea10f5a00a591e49ed05507290589940339e827) by [@liblaf](https://github.com/liblaf) -### ♻ Code Refactoring +### ♻️ Code Refactoring -- **model:** Integrate WarpModelAdapter and streamline parameter updates - [82cafb2](https://github.com/liblaf/apple/commit/82cafb2a3507f570522a98e2f5d33ec487de5fcc) by [@liblaf](https://github.com/liblaf) -- **model/inverse:** Refactor Inverse solver and argument order - [920dbb0](https://github.com/liblaf/apple/commit/920dbb0e604fca72bde3a0ef413c5cd79edef07b) by [@liblaf](https://github.com/liblaf) -- **test, warp:** Improve test diagnostics and ARAP parameter handling - [7c7c07f](https://github.com/liblaf/apple/commit/7c7c07f9a36054eae367cdabee51d736e721fa30) by [@liblaf](https://github.com/liblaf) +- **(model)** Integrate WarpModelAdapter and streamline parameter updates - [82cafb2](https://github.com/liblaf/apple/commit/82cafb2a3507f570522a98e2f5d33ec487de5fcc) by [@liblaf](https://github.com/liblaf) +- **(model/inverse)** **\[breaking\]** Refactor Inverse solver and argument order - [920dbb0](https://github.com/liblaf/apple/commit/920dbb0e604fca72bde3a0ef413c5cd79edef07b) by [@liblaf](https://github.com/liblaf) +- **(test, warp)** Improve test diagnostics and ARAP parameter handling - [7c7c07f](https://github.com/liblaf/apple/commit/7c7c07f9a36054eae367cdabee51d736e721fa30) by [@liblaf](https://github.com/liblaf) - reorganize import statements in experimental and test modules - [0f2640a](https://github.com/liblaf/apple/commit/0f2640aa21befb1796123dc3c5e2a9bd4935a404) by [@liblaf](https://github.com/liblaf) ### ✅ Tests -- **warp/energies/hyperelastic:** Refine mixed derivative product test helper - [322135f](https://github.com/liblaf/apple/commit/322135f127aa60f19402a41024ce4fbe29766b7f) by [@liblaf](https://github.com/liblaf) -- **warp/hyperelastic/hess_quad:** Refine numeric differentiation precision - [075632c](https://github.com/liblaf/apple/commit/075632c43499258410f78c7559cb21340cab1d6b) by [@liblaf](https://github.com/liblaf) +- **(warp/energies/hyperelastic)** Refine mixed derivative product test helper - [322135f](https://github.com/liblaf/apple/commit/322135f127aa60f19402a41024ce4fbe29766b7f) by [@liblaf](https://github.com/liblaf) +- **(warp/hyperelastic/hess_quad)** Refine numeric differentiation precision - [075632c](https://github.com/liblaf/apple/commit/075632c43499258410f78c7559cb21340cab1d6b) by [@liblaf](https://github.com/liblaf) ### ❤️ Contributors -- [@liblaf](https://github.com/liblaf) made their first contribution +- [@liblaf[bot]](https://github.com/apps/liblaf) +- [@liblaf](https://github.com/liblaf) -## [0.6.1](https://github.com/liblaf/apple/releases/tag/v0.6.1) - 2025-11-29 +## [v0.6.1](https://github.com/liblaf/apple/releases/tag/v0.6.1) - 2025-11-29 ### 🐛 Bug Fixes -- **jax/energies:** Correct mass-spring energy and gradient calculation - [1a0b663](https://github.com/liblaf/apple/commit/1a0b663fd0c76afb0f2c8dabfedc0135d1783773) by [@liblaf](https://github.com/liblaf) +- **(jax/energies)** Correct mass-spring energy and gradient calculation - [1a0b663](https://github.com/liblaf/apple/commit/1a0b663fd0c76afb0f2c8dabfedc0135d1783773) by [@liblaf](https://github.com/liblaf) ### ❤️ Contributors - [@liblaf[bot]](https://github.com/apps/liblaf) - [@liblaf](https://github.com/liblaf) -## [0.6.0](https://github.com/liblaf/apple/releases/tag/v0.6.0) - 2025-11-29 +## [v0.6.0](https://github.com/liblaf/apple/releases/tag/v0.6.0) - 2025-11-29 ### 💥 BREAKING CHANGES @@ -61,15 +103,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### ✨ Features -- **jax:** Add MassSpringPrestrain energy model - [93466a6](https://github.com/liblaf/apple/commit/93466a630b29018889105af01371f4fb15cb4381) by [@liblaf](https://github.com/liblaf) -- redesign physics simulation architecture with JAX/Warp integration - [84e0b67](https://github.com/liblaf/apple/commit/84e0b67804f039323f747998b21b9b8ed90efe11) by [@liblaf](https://github.com/liblaf) +- **(jax)** Add MassSpringPrestrain energy model - [93466a6](https://github.com/liblaf/apple/commit/93466a630b29018889105af01371f4fb15cb4381) by [@liblaf](https://github.com/liblaf) +- **\[breaking\]** redesign physics simulation architecture with JAX/Warp integration - [84e0b67](https://github.com/liblaf/apple/commit/84e0b67804f039323f747998b21b9b8ed90efe11) by [@liblaf](https://github.com/liblaf) ### ❤️ Contributors - [@liblaf[bot]](https://github.com/apps/liblaf) - [@liblaf](https://github.com/liblaf) -## [0.5.0](https://github.com/liblaf/apple/releases/tag/v0.5.0) - 2025-11-20 +## [v0.5.0](https://github.com/liblaf/apple/releases/tag/v0.5.0) - 2025-11-20 ### 💥 BREAKING CHANGES @@ -77,31 +119,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### ✨ Features -- **inverse-grin:** add optimizer configuration and new inverse-no-reg script - [4c7d3f8](https://github.com/liblaf/apple/commit/4c7d3f8edd9310567202d4e6d999197510a0e858) by [@liblaf](https://github.com/liblaf) -- **warp/sim:** add sparse Hessian support and improve numerical stability - [61d8b07](https://github.com/liblaf/apple/commit/61d8b0730c6cc5235d1514f908a88157750661b8) by [@liblaf](https://github.com/liblaf) +- **(inverse-grin)** add optimizer configuration and new inverse-no-reg script - [4c7d3f8](https://github.com/liblaf/apple/commit/4c7d3f8edd9310567202d4e6d999197510a0e858) by [@liblaf](https://github.com/liblaf) +- **(warp/sim)** add sparse Hessian support and improve numerical stability - [61d8b07](https://github.com/liblaf/apple/commit/61d8b0730c6cc5235d1514f908a88157750661b8) by [@liblaf](https://github.com/liblaf) ### 🐛 Bug Fixes -- **inverse-grin:** update regularization weights in loss calculation - [4684ce4](https://github.com/liblaf/apple/commit/4684ce4da7049bb811244e74e151cf8cb145832f) by [@liblaf](https://github.com/liblaf) +- **(inverse-grin)** update regularization weights in loss calculation - [4684ce4](https://github.com/liblaf/apple/commit/4684ce4da7049bb811244e74e151cf8cb145832f) by [@liblaf](https://github.com/liblaf) ### 📝 Documentation - Update documentation links - [90bfed0](https://github.com/liblaf/apple/commit/90bfed02d757d9497acefedbb9e2be53c1b11c0f) by [@liblaf](https://github.com/liblaf) -### ♻ Code Refactoring +### ♻️ Code Refactoring -- **core:** Improve internal structure and update dependencies - [d7c6b94](https://github.com/liblaf/apple/commit/d7c6b94e616f411b8e86cd3300b22bdd8cebf3e9) by [@liblaf](https://github.com/liblaf) -- **exp:** Improve inverse simulation inspection script - [75afcff](https://github.com/liblaf/apple/commit/75afcff97dd3a3661d7516e9f2795f077481f9f3) by [@liblaf](https://github.com/liblaf) -- **exp/inverse:** Simplify activation parameter to a single scalar stretch - [5ea6f55](https://github.com/liblaf/apple/commit/5ea6f55d494ca41fd96d21e3a56138f1428ab0bf) by [@liblaf](https://github.com/liblaf) -- **jax:** Enhance robustness and consistency of optim and math modules - [dd241d8](https://github.com/liblaf/apple/commit/dd241d8229b98091485b77014899dc4c857daaf8) by [@liblaf](https://github.com/liblaf) +- **(core)** Improve internal structure and update dependencies - [d7c6b94](https://github.com/liblaf/apple/commit/d7c6b94e616f411b8e86cd3300b22bdd8cebf3e9) by [@liblaf](https://github.com/liblaf) +- **(exp)** Improve inverse simulation inspection script - [75afcff](https://github.com/liblaf/apple/commit/75afcff97dd3a3661d7516e9f2795f077481f9f3) by [@liblaf](https://github.com/liblaf) +- **(exp/inverse)** Simplify activation parameter to a single scalar stretch - [5ea6f55](https://github.com/liblaf/apple/commit/5ea6f55d494ca41fd96d21e3a56138f1428ab0bf) by [@liblaf](https://github.com/liblaf) +- **(jax)** Enhance robustness and consistency of optim and math modules - [dd241d8](https://github.com/liblaf/apple/commit/dd241d8229b98091485b77014899dc4c857daaf8) by [@liblaf](https://github.com/liblaf) - update liblaf-peach usage and improve array handling - [e28476f](https://github.com/liblaf/apple/commit/e28476f9bc0686a10c5f7954760eab94defbf28f) by [@liblaf](https://github.com/liblaf) - Rename `point-ids` to `dof-id` and `dirichlet-values` to `dirichlet-value` - [0b7e5b8](https://github.com/liblaf/apple/commit/0b7e5b83ecbcef49938eb57484561d8583405bc2) by [@liblaf](https://github.com/liblaf) ### 🛠 Builds -- **deps:** Upgrade JAX to 0.7 and add cholespy - [35acd6d](https://github.com/liblaf/apple/commit/35acd6d63289c0da210899fcdf1e0fe4cae53f9d) by [@liblaf](https://github.com/liblaf) -- **repo:** Configure Git LFS for large file tracking - [fbfb958](https://github.com/liblaf/apple/commit/fbfb958c459aa49d00a8b778758d5836cd4aa130) by [@liblaf](https://github.com/liblaf) -- Update dependencies, Python version, and CI configuration - [0a97a67](https://github.com/liblaf/apple/commit/0a97a67f5557e51677dc6a451a06707e6fc7290d) by [@liblaf](https://github.com/liblaf) +- **(deps)** Upgrade JAX to 0.7 and add cholespy - [35acd6d](https://github.com/liblaf/apple/commit/35acd6d63289c0da210899fcdf1e0fe4cae53f9d) by [@liblaf](https://github.com/liblaf) +- **(repo)** Configure Git LFS for large file tracking - [fbfb958](https://github.com/liblaf/apple/commit/fbfb958c459aa49d00a8b778758d5836cd4aa130) by [@liblaf](https://github.com/liblaf) +- **\[breaking\]** Update dependencies, Python version, and CI configuration - [0a97a67](https://github.com/liblaf/apple/commit/0a97a67f5557e51677dc6a451a06707e6fc7290d) by [@liblaf](https://github.com/liblaf) - Update liblaf-\* dependencies and refine tooling - [82b2870](https://github.com/liblaf/apple/commit/82b2870b69511b5d76b92c85cb46965e50cfdb4a) by [@liblaf](https://github.com/liblaf) ### ❤️ Contributors @@ -109,7 +151,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [@liblaf[bot]](https://github.com/apps/liblaf) - [@liblaf](https://github.com/liblaf) -## [0.4.0](https://github.com/liblaf/apple/releases/tag/v0.4.0) - 2025-10-12 +## [v0.4.0](https://github.com/liblaf/apple/releases/tag/v0.4.0) - 2025-10-12 ### 💥 BREAKING CHANGES @@ -138,67 +180,67 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### ✨ Features -- **experiments:** add dynamic and static simulation examples - [262646e](https://github.com/liblaf/apple/commit/262646e280a8e5d6ae199d012b2b7faa4eb6cfd9) by [@liblaf](https://github.com/liblaf) -- **inverse:** Add inverse physics solver with Warp and lineax integration - [cc8ebbb](https://github.com/liblaf/apple/commit/cc8ebbbe9bc5d3777f40b2f14aeae6e94d5bf772) by [@liblaf](https://github.com/liblaf) -- **inverse-simulation:** enhance inverse muscle simulation with Phace energy model - [8cf739b](https://github.com/liblaf/apple/commit/8cf739b3cb527c4ec7c48b1cd485926c817aaf08) by [@liblaf](https://github.com/liblaf) -- **jax:** add active material models and enhance optimization infrastructure - [518ee0b](https://github.com/liblaf/apple/commit/518ee0b6da54cb01803f220d6c7fabef8fcefd62) by [@liblaf](https://github.com/liblaf) -- **jax:** add PNCG optimizer and autodiff utilities - [bb5a51e](https://github.com/liblaf/apple/commit/bb5a51ead25358ef2202ce0bdc6d236ab1ea744c) by [@liblaf](https://github.com/liblaf) -- **jax/optim:** add modular minimization framework with SciPy backend - [72ae94b](https://github.com/liblaf/apple/commit/72ae94b76df2d0d08d826f2359ff17ea11744685) by [@liblaf](https://github.com/liblaf) -- **jax/sim/energy:** Add Koiter thin shell energy model - [e8175e3](https://github.com/liblaf/apple/commit/e8175e3f3763907356368f9cc7b23c818daaa5ca) by [@liblaf](https://github.com/liblaf) -- **phace:** add open-mouth jaw animation example - [5dfa5e3](https://github.com/liblaf/apple/commit/5dfa5e38ff1e23b295d1023e662a0a899cdc3774) by [@liblaf](https://github.com/liblaf) -- **phace:** add close-mouth and wind simulation examples - [eb5bfdb](https://github.com/liblaf/apple/commit/eb5bfdbe7d34ed487043e308c616d479c797a9cc) by [@liblaf](https://github.com/liblaf) -- **sim:** add inter-collision example and improvements - [231d509](https://github.com/liblaf/apple/commit/231d5099f3f5dcc1710c8f1c29dd0a938a26aac7) by [@liblaf](https://github.com/liblaf) -- **sim:** add dirichlet conditions, geometry handling, and model building - [0d8388e](https://github.com/liblaf/apple/commit/0d8388e6b9c427689168dc263dbd08307699bb3e) by [@liblaf](https://github.com/liblaf) -- **sim:** introduce active ARAP energy model and Dirichlet builder - [af97357](https://github.com/liblaf/apple/commit/af973573ef9f03d86c71c420c42567c08bc13d6c) by [@liblaf](https://github.com/liblaf) -- **sim:** integrate Warp backend for simulation - [eaff9b9](https://github.com/liblaf/apple/commit/eaff9b94b92184ecd1847c0d8bcc3773d0bb6343) by [@liblaf](https://github.com/liblaf) -- **sim:** add Hessian computation support for energy models - [cb1ea7f](https://github.com/liblaf/apple/commit/cb1ea7fedc5293b5474892b7c14a2fc1f4475d06) by [@liblaf](https://github.com/liblaf) -- **sim:** Add activation utility functions for JAX energy models - [ae26615](https://github.com/liblaf/apple/commit/ae26615d4a9fbd5d665b2aabcde8dfe5a7d96a20) by [@liblaf](https://github.com/liblaf) -- **simulation:** add ball-head collision example with visualization support - [9550bf2](https://github.com/liblaf/apple/commit/9550bf2c07daf9e0c1509ea515581a3a043ebc60) by [@liblaf](https://github.com/liblaf) -- **struct:** add mutable tree variants - [5ed48f6](https://github.com/liblaf/apple/commit/5ed48f6447be1092c76c8454297bbbab7ca1bab2) by [@liblaf](https://github.com/liblaf) -- **warp:** add matrix decomposition functions and update warp dependency - [6a5b2a9](https://github.com/liblaf/apple/commit/6a5b2a953509a269490be8fc05a12d3ce0fbd6ec) by [@liblaf](https://github.com/liblaf) -- **warp:** add simulation energy infrastructure and ARAP model - [24abf6a](https://github.com/liblaf/apple/commit/24abf6a060ce975cad8c4d532d81cc1a83b961b9) by [@liblaf](https://github.com/liblaf) -- **warp/sim/energy:** add active ARAP and passive PHACE energy models - [f56d137](https://github.com/liblaf/apple/commit/f56d137e589aec81e9383534e3047c5e7e9a0a8a) by [@liblaf](https://github.com/liblaf) +- **(experiments)** add dynamic and static simulation examples - [262646e](https://github.com/liblaf/apple/commit/262646e280a8e5d6ae199d012b2b7faa4eb6cfd9) by [@liblaf](https://github.com/liblaf) +- **(inverse)** Add inverse physics solver with Warp and lineax integration - [cc8ebbb](https://github.com/liblaf/apple/commit/cc8ebbbe9bc5d3777f40b2f14aeae6e94d5bf772) by [@liblaf](https://github.com/liblaf) +- **(inverse-simulation)** enhance inverse muscle simulation with Phace energy model - [8cf739b](https://github.com/liblaf/apple/commit/8cf739b3cb527c4ec7c48b1cd485926c817aaf08) by [@liblaf](https://github.com/liblaf) +- **(jax)** **\[breaking\]** add active material models and enhance optimization infrastructure - [518ee0b](https://github.com/liblaf/apple/commit/518ee0b6da54cb01803f220d6c7fabef8fcefd62) by [@liblaf](https://github.com/liblaf) +- **(jax)** add PNCG optimizer and autodiff utilities - [bb5a51e](https://github.com/liblaf/apple/commit/bb5a51ead25358ef2202ce0bdc6d236ab1ea744c) by [@liblaf](https://github.com/liblaf) +- **(jax/optim)** add modular minimization framework with SciPy backend - [72ae94b](https://github.com/liblaf/apple/commit/72ae94b76df2d0d08d826f2359ff17ea11744685) by [@liblaf](https://github.com/liblaf) +- **(jax/sim/energy)** Add Koiter thin shell energy model - [e8175e3](https://github.com/liblaf/apple/commit/e8175e3f3763907356368f9cc7b23c818daaa5ca) by [@liblaf](https://github.com/liblaf) +- **(phace)** add open-mouth jaw animation example - [5dfa5e3](https://github.com/liblaf/apple/commit/5dfa5e38ff1e23b295d1023e662a0a899cdc3774) by [@liblaf](https://github.com/liblaf) +- **(phace)** add close-mouth and wind simulation examples - [eb5bfdb](https://github.com/liblaf/apple/commit/eb5bfdbe7d34ed487043e308c616d479c797a9cc) by [@liblaf](https://github.com/liblaf) +- **(sim)** add inter-collision example and improvements - [231d509](https://github.com/liblaf/apple/commit/231d5099f3f5dcc1710c8f1c29dd0a938a26aac7) by [@liblaf](https://github.com/liblaf) +- **(sim)** **\[breaking\]** add dirichlet conditions, geometry handling, and model building - [0d8388e](https://github.com/liblaf/apple/commit/0d8388e6b9c427689168dc263dbd08307699bb3e) by [@liblaf](https://github.com/liblaf) +- **(sim)** introduce active ARAP energy model and Dirichlet builder - [af97357](https://github.com/liblaf/apple/commit/af973573ef9f03d86c71c420c42567c08bc13d6c) by [@liblaf](https://github.com/liblaf) +- **(sim)** integrate Warp backend for simulation - [eaff9b9](https://github.com/liblaf/apple/commit/eaff9b94b92184ecd1847c0d8bcc3773d0bb6343) by [@liblaf](https://github.com/liblaf) +- **(sim)** add Hessian computation support for energy models - [cb1ea7f](https://github.com/liblaf/apple/commit/cb1ea7fedc5293b5474892b7c14a2fc1f4475d06) by [@liblaf](https://github.com/liblaf) +- **(sim)** Add activation utility functions for JAX energy models - [ae26615](https://github.com/liblaf/apple/commit/ae26615d4a9fbd5d665b2aabcde8dfe5a7d96a20) by [@liblaf](https://github.com/liblaf) +- **(simulation)** add ball-head collision example with visualization support - [9550bf2](https://github.com/liblaf/apple/commit/9550bf2c07daf9e0c1509ea515581a3a043ebc60) by [@liblaf](https://github.com/liblaf) +- **(struct)** add mutable tree variants - [5ed48f6](https://github.com/liblaf/apple/commit/5ed48f6447be1092c76c8454297bbbab7ca1bab2) by [@liblaf](https://github.com/liblaf) +- **(warp)** add matrix decomposition functions and update warp dependency - [6a5b2a9](https://github.com/liblaf/apple/commit/6a5b2a953509a269490be8fc05a12d3ce0fbd6ec) by [@liblaf](https://github.com/liblaf) +- **(warp)** add simulation energy infrastructure and ARAP model - [24abf6a](https://github.com/liblaf/apple/commit/24abf6a060ce975cad8c4d532d81cc1a83b961b9) by [@liblaf](https://github.com/liblaf) +- **(warp/sim/energy)** add active ARAP and passive PHACE energy models - [f56d137](https://github.com/liblaf/apple/commit/f56d137e589aec81e9383534e3047c5e7e9a0a8a) by [@liblaf](https://github.com/liblaf) - Implement phace active and passive energy models - [294f454](https://github.com/liblaf/apple/commit/294f454b359c31ae6e33d456989970e2acf0db6d) by [@liblaf](https://github.com/liblaf) - Add JAX-based simulation core with math utilities and type definitions - [36d26fa](https://github.com/liblaf/apple/commit/36d26fa006f8099d8bd3dfabe8c49430856d4c40) by [@liblaf](https://github.com/liblaf) - Add JAX-based simulation framework and mathematical documentation - [d63a206](https://github.com/liblaf/apple/commit/d63a206bb219b2134c138b0876b932c79ffc2b5c) by [@liblaf](https://github.com/liblaf) -- add Phace energy model and rename point data array - [d03be25](https://github.com/liblaf/apple/commit/d03be256552548f77abae914ae0f11c0e526e519) by [@liblaf](https://github.com/liblaf) +- **\[breaking\]** add Phace energy model and rename point data array - [d03be25](https://github.com/liblaf/apple/commit/d03be256552548f77abae914ae0f11c0e526e519) by [@liblaf](https://github.com/liblaf) ### 🐛 Bug Fixes -- **data:** update md5 hashes and sizes for input and target VTU files - [e1b9558](https://github.com/liblaf/apple/commit/e1b9558293268340ffcc51a7fee8dea71d89fde7) by [@liblaf](https://github.com/liblaf) -- **deps:** update and simplify dependencies - [dcbc065](https://github.com/liblaf/apple/commit/dcbc065ed738f67d1301ba6b7e42c897bbfdc257) by [@liblaf](https://github.com/liblaf) -- **deps:** update dependency jax to >=0.7,<0.8 (#49) - [05e9451](https://github.com/liblaf/apple/commit/05e9451f9d332c01d257a733d0341323f564c02f) by [@renovate[bot]](https://github.com/apps/renovate) in [#49](https://github.com/liblaf/apple/pull/49) -- **deps:** update dependency beartype to >=0.22,<0.23 (#55) - [40e7a51](https://github.com/liblaf/apple/commit/40e7a5139ce5302d86da6eddb967d7e2523c0a94) by [@renovate[bot]](https://github.com/apps/renovate) in [#55](https://github.com/liblaf/apple/pull/55) -- **jax:** Correct activation transformation and add relative energy to PNCG - [0cf40cc](https://github.com/liblaf/apple/commit/0cf40cc71944111bffa5ab4a20e2586ee8444386) by [@liblaf](https://github.com/liblaf) -- **jax/math/rotation:** correct sign handling in SVD-based rotation computation - [76eea15](https://github.com/liblaf/apple/commit/76eea158a320b49a059c597a09c3acccf0ad219c) by [@liblaf](https://github.com/liblaf) -- **uv.lock:** update simplejson source URLs and wheel paths - [d5b3ce3](https://github.com/liblaf/apple/commit/d5b3ce31f877ebdd88a08688c9ba8256fb06d647) by [@liblaf](https://github.com/liblaf) -- **warp:** correct Hessian operations and add comprehensive tests - [11588aa](https://github.com/liblaf/apple/commit/11588aa9d36eabf535b811b02c8f0360efbc9784) by [@liblaf](https://github.com/liblaf) -- **warp:** properly convert numpy arrays with matrix/vector dtypes - [5586617](https://github.com/liblaf/apple/commit/55866172d56befdfe8280ea8a4e5dd30c9362639) by [@liblaf](https://github.com/liblaf) +- **(data)** update md5 hashes and sizes for input and target VTU files - [e1b9558](https://github.com/liblaf/apple/commit/e1b9558293268340ffcc51a7fee8dea71d89fde7) by [@liblaf](https://github.com/liblaf) +- **(deps)** update and simplify dependencies - [dcbc065](https://github.com/liblaf/apple/commit/dcbc065ed738f67d1301ba6b7e42c897bbfdc257) by [@liblaf](https://github.com/liblaf) +- **(deps)** update dependency jax to >=0.7,<0.8 (#49) - [05e9451](https://github.com/liblaf/apple/commit/05e9451f9d332c01d257a733d0341323f564c02f) by [@renovate[bot]](https://github.com/apps/renovate) +- **(deps)** update dependency beartype to >=0.22,<0.23 (#55) - [40e7a51](https://github.com/liblaf/apple/commit/40e7a5139ce5302d86da6eddb967d7e2523c0a94) by [@renovate[bot]](https://github.com/apps/renovate) +- **(jax)** Correct activation transformation and add relative energy to PNCG - [0cf40cc](https://github.com/liblaf/apple/commit/0cf40cc71944111bffa5ab4a20e2586ee8444386) by [@liblaf](https://github.com/liblaf) +- **(jax/math/rotation)** correct sign handling in SVD-based rotation computation - [76eea15](https://github.com/liblaf/apple/commit/76eea158a320b49a059c597a09c3acccf0ad219c) by [@liblaf](https://github.com/liblaf) +- **(uv.lock)** update simplejson source URLs and wheel paths - [d5b3ce3](https://github.com/liblaf/apple/commit/d5b3ce31f877ebdd88a08688c9ba8256fb06d647) by [@liblaf](https://github.com/liblaf) +- **(warp)** correct Hessian operations and add comprehensive tests - [11588aa](https://github.com/liblaf/apple/commit/11588aa9d36eabf535b811b02c8f0360efbc9784) by [@liblaf](https://github.com/liblaf) +- **(warp)** properly convert numpy arrays with matrix/vector dtypes - [5586617](https://github.com/liblaf/apple/commit/55866172d56befdfe8280ea8a4e5dd30c9362639) by [@liblaf](https://github.com/liblaf) ### 📝 Documentation -- **README:** update banner and badge links - [ac14a00](https://github.com/liblaf/apple/commit/ac14a00c495c8c32fa2b7c122f02012becd3716a) by [@liblaf](https://github.com/liblaf) -- **readme:** update socialify badge with transparent pattern - [0339381](https://github.com/liblaf/apple/commit/033938180ea6031aaa93b28a7089e92dd8218efd) by [@liblaf](https://github.com/liblaf) - -### ♻ Code Refactoring - -- **examples:** clean up dynamics examples - [6b29fa8](https://github.com/liblaf/apple/commit/6b29fa8881f4f57cfdd31419ac1fad62577dac1e) by [@liblaf](https://github.com/liblaf) -- **jax:** move tree utilities to jax.tree module - [38966d1](https://github.com/liblaf/apple/commit/38966d1dc74667ea8a21b3511ce3989505ff7be5) by [@liblaf](https://github.com/liblaf) -- **sim:** restructure core components for performance - [292835f](https://github.com/liblaf/apple/commit/292835f03449c0bd7421d8b3e4fb14ba0d3fb1ca) by [@liblaf](https://github.com/liblaf) -- **sim:** simplify DOFs and attribute access - [e5fee29](https://github.com/liblaf/apple/commit/e5fee299a8dc1b0f364aeeb6b20dd22fc5baac7f) by [@liblaf](https://github.com/liblaf) -- **sim:** simplify actor API and rename DOF/Dirichlet properties - [bc99c4a](https://github.com/liblaf/apple/commit/bc99c4a70388ee993646308c777c2245a3187f1f) by [@liblaf](https://github.com/liblaf) -- **sim:** improve simulation components - [46593af](https://github.com/liblaf/apple/commit/46593aff9e80000ba7507f0a3bdf06d97a7bc68f) by [@liblaf](https://github.com/liblaf) -- **state:** simplify state updates and container implementations - [f007af5](https://github.com/liblaf/apple/commit/f007af5f23fe8bfd64488f3b6d18487651c62f74) by [@liblaf](https://github.com/liblaf) -- **struct:** migrate to Equinox PyTree system - [a5e4888](https://github.com/liblaf/apple/commit/a5e488899aed60472e929ce0a6bdc711708a1ccc) by [@liblaf](https://github.com/liblaf) -- **struct:** replace equinox-based PyTree with attrs-based implementation - [d25aaba](https://github.com/liblaf/apple/commit/d25aaba52575d0c7f82f33c453b3280e5e9f1a5d) by [@liblaf](https://github.com/liblaf) -- **warp:** improve type flexibility and add utility functions - [c9d66c6](https://github.com/liblaf/apple/commit/c9d66c621026a0556eadde03b8b45c2bec1ac12f) by [@liblaf](https://github.com/liblaf) +- **(README)** update banner and badge links - [ac14a00](https://github.com/liblaf/apple/commit/ac14a00c495c8c32fa2b7c122f02012becd3716a) by [@liblaf](https://github.com/liblaf) +- **(readme)** update socialify badge with transparent pattern - [0339381](https://github.com/liblaf/apple/commit/033938180ea6031aaa93b28a7089e92dd8218efd) by [@liblaf](https://github.com/liblaf) + +### ♻️ Code Refactoring + +- **(examples)** clean up dynamics examples - [6b29fa8](https://github.com/liblaf/apple/commit/6b29fa8881f4f57cfdd31419ac1fad62577dac1e) by [@liblaf](https://github.com/liblaf) +- **(jax)** move tree utilities to jax.tree module - [38966d1](https://github.com/liblaf/apple/commit/38966d1dc74667ea8a21b3511ce3989505ff7be5) by [@liblaf](https://github.com/liblaf) +- **(sim)** **\[breaking\]** restructure core components for performance - [292835f](https://github.com/liblaf/apple/commit/292835f03449c0bd7421d8b3e4fb14ba0d3fb1ca) by [@liblaf](https://github.com/liblaf) +- **(sim)** simplify DOFs and attribute access - [e5fee29](https://github.com/liblaf/apple/commit/e5fee299a8dc1b0f364aeeb6b20dd22fc5baac7f) by [@liblaf](https://github.com/liblaf) +- **(sim)** **\[breaking\]** simplify actor API and rename DOF/Dirichlet properties - [bc99c4a](https://github.com/liblaf/apple/commit/bc99c4a70388ee993646308c777c2245a3187f1f) by [@liblaf](https://github.com/liblaf) +- **(sim)** **\[breaking\]** improve simulation components - [46593af](https://github.com/liblaf/apple/commit/46593aff9e80000ba7507f0a3bdf06d97a7bc68f) by [@liblaf](https://github.com/liblaf) +- **(state)** **\[breaking\]** simplify state updates and container implementations - [f007af5](https://github.com/liblaf/apple/commit/f007af5f23fe8bfd64488f3b6d18487651c62f74) by [@liblaf](https://github.com/liblaf) +- **(struct)** **\[breaking\]** migrate to Equinox PyTree system - [a5e4888](https://github.com/liblaf/apple/commit/a5e488899aed60472e929ce0a6bdc711708a1ccc) by [@liblaf](https://github.com/liblaf) +- **(struct)** **\[breaking\]** replace equinox-based PyTree with attrs-based implementation - [d25aaba](https://github.com/liblaf/apple/commit/d25aaba52575d0c7f82f33c453b3280e5e9f1a5d) by [@liblaf](https://github.com/liblaf) +- **(warp)** improve type flexibility and add utility functions - [c9d66c6](https://github.com/liblaf/apple/commit/c9d66c621026a0556eadde03b8b45c2bec1ac12f) by [@liblaf](https://github.com/liblaf) - refactor code structure and remove redundant changes - [3380053](https://github.com/liblaf/apple/commit/33800534f5952a7f5eb5aa5331af5feb8b22ba20) by [@liblaf](https://github.com/liblaf) - Update dependencies and refactor pytree registration - [d685f16](https://github.com/liblaf/apple/commit/d685f16b9f87e65f1575b1fab98282098b4754eb) by [@liblaf](https://github.com/liblaf) ### ✅ Tests -- **benchmark:** Add volume aggregation benchmarks for Warp and JAX - [4631a1e](https://github.com/liblaf/apple/commit/4631a1e586a62c232df760a0bd37314500f68a55) by [@liblaf](https://github.com/liblaf) -- **optim:** add tests for MinimizerScipy and refactor Objective partial method - [5eb4ac3](https://github.com/liblaf/apple/commit/5eb4ac3c79de2c79ab46f49cac343032a7b7eac1) by [@liblaf](https://github.com/liblaf) +- **(benchmark)** Add volume aggregation benchmarks for Warp and JAX - [4631a1e](https://github.com/liblaf/apple/commit/4631a1e586a62c232df760a0bd37314500f68a55) by [@liblaf](https://github.com/liblaf) +- **(optim)** add tests for MinimizerScipy and refactor Objective partial method - [5eb4ac3](https://github.com/liblaf/apple/commit/5eb4ac3c79de2c79ab46f49cac343032a7b7eac1) by [@liblaf](https://github.com/liblaf) - disable JIT in scipy minimizer tests and adjust tolerances - [fdc27be](https://github.com/liblaf/apple/commit/fdc27be23b633c316b4c632c6719d112a42dcda7) by [@liblaf](https://github.com/liblaf) ### ❤️ Contributors @@ -207,7 +249,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [@liblaf](https://github.com/liblaf) - [@renovate[bot]](https://github.com/apps/renovate) -## [0.3.0](https://github.com/liblaf/apple/releases/tag/v0.3.0) - 2025-07-12 +## [v0.3.0](https://github.com/liblaf/apple/releases/tag/v0.3.0) - 2025-07-12 ### 💥 BREAKING CHANGES @@ -217,33 +259,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### ✨ Features -- **sim:** enhance free-falling example with energy tracking - [8895f79](https://github.com/liblaf/apple/commit/8895f79b9446a5bd5df20f366331fd4d623962c4) by [@liblaf](https://github.com/liblaf) -- **sim:** add energy tracking callback and improve optimizer - [02b5003](https://github.com/liblaf/apple/commit/02b5003931e1f9cb2e0a346b7daa616c02a98a4a) by [@liblaf](https://github.com/liblaf) +- **(sim)** enhance free-falling example with energy tracking - [8895f79](https://github.com/liblaf/apple/commit/8895f79b9446a5bd5df20f366331fd4d623962c4) by [@liblaf](https://github.com/liblaf) +- **(sim)** add energy tracking callback and improve optimizer - [02b5003](https://github.com/liblaf/apple/commit/02b5003931e1f9cb2e0a346b7daa616c02a98a4a) by [@liblaf](https://github.com/liblaf) ### 🐛 Bug Fixes -- **jax:** enable filter by default in jit wrapper - [dfd7641](https://github.com/liblaf/apple/commit/dfd7641a020e089275de1ba5cc7096c07c769b8d) by [@liblaf](https://github.com/liblaf) +- **(jax)** enable filter by default in jit wrapper - [dfd7641](https://github.com/liblaf/apple/commit/dfd7641a020e089275de1ba5cc7096c07c769b8d) by [@liblaf](https://github.com/liblaf) -### ♻ Code Refactoring +### ♻️ Code Refactoring -- **examples:** adjust material and optimization parameters - [67cf83d](https://github.com/liblaf/apple/commit/67cf83d6ddf0547083535d4039c5a6d9e612ce05) by [@liblaf](https://github.com/liblaf) -- **jax:** simplify PyTree registration and jit utilities - [32147c2](https://github.com/liblaf/apple/commit/32147c2b83f8d8ee0b3e6b0d62b29a1c9d236ef3) by [@liblaf](https://github.com/liblaf) +- **(examples)** adjust material and optimization parameters - [67cf83d](https://github.com/liblaf/apple/commit/67cf83d6ddf0547083535d4039c5a6d9e612ce05) by [@liblaf](https://github.com/liblaf) +- **(jax)** **\[breaking\]** simplify PyTree registration and jit utilities - [32147c2](https://github.com/liblaf/apple/commit/32147c2b83f8d8ee0b3e6b0d62b29a1c9d236ef3) by [@liblaf](https://github.com/liblaf) ### ❤️ Contributors - [@liblaf[bot]](https://github.com/apps/liblaf) - [@liblaf](https://github.com/liblaf) -## [0.2.1](https://github.com/liblaf/apple/releases/tag/v0.2.1) - 2025-07-04 +## [v0.2.1](https://github.com/liblaf/apple/releases/tag/v0.2.1) - 2025-07-04 ### ✨ Features -- **examples:** add collision simulations and improve physics - [10c6916](https://github.com/liblaf/apple/commit/10c6916acf633d07e5bb01749b381b28d293dfc3) by [@liblaf](https://github.com/liblaf) +- **(examples)** add collision simulations and improve physics - [10c6916](https://github.com/liblaf/apple/commit/10c6916acf633d07e5bb01749b381b28d293dfc3) by [@liblaf](https://github.com/liblaf) ### 🐛 Bug Fixes -- **deps:** update dependency python to 3.13.\* (#18) - [4643411](https://github.com/liblaf/apple/commit/46434111bdfe0626f7a7ea89ac7a8cc2e2e18516) by [@renovate[bot]](https://github.com/apps/renovate) in [#18](https://github.com/liblaf/apple/pull/18) -- **deps:** update dependency python to 3.13.\* (#30) - [6aebf70](https://github.com/liblaf/apple/commit/6aebf70ecbbdb92290aa21f317c84e02335659e7) by [@renovate[bot]](https://github.com/apps/renovate) in [#30](https://github.com/liblaf/apple/pull/30) +- **(deps)** update dependency python to 3.13.\* (#18) - [4643411](https://github.com/liblaf/apple/commit/46434111bdfe0626f7a7ea89ac7a8cc2e2e18516) by [@renovate[bot]](https://github.com/apps/renovate) +- **(deps)** update dependency python to 3.13.\* (#30) - [6aebf70](https://github.com/liblaf/apple/commit/6aebf70ecbbdb92290aa21f317c84e02335659e7) by [@renovate[bot]](https://github.com/apps/renovate) ### ❤️ Contributors @@ -251,7 +293,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [@renovate[bot]](https://github.com/apps/renovate) - [@liblaf](https://github.com/liblaf) -## [0.2.0](https://github.com/liblaf/apple/releases/tag/v0.2.0) - 2025-07-02 +## [v0.2.0](https://github.com/liblaf/apple/releases/tag/v0.2.0) - 2025-07-02 ### 💥 BREAKING CHANGES @@ -260,19 +302,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### ✨ Features -- **collision:** add Hessian calculations and improve PNCG - [bb37387](https://github.com/liblaf/apple/commit/bb37387384334dc6a221344dc4b6424f3b34a30a) by [@liblaf](https://github.com/liblaf) -- **sim:** add free-fall example and center of mass utils - [7c1f1d4](https://github.com/liblaf/apple/commit/7c1f1d4a5cdf8a8417aac9525356bdaf9fcc6f8f) by [@liblaf](https://github.com/liblaf) +- **(collision)** **\[breaking\]** add Hessian calculations and improve PNCG - [bb37387](https://github.com/liblaf/apple/commit/bb37387384334dc6a221344dc4b6424f3b34a30a) by [@liblaf](https://github.com/liblaf) +- **(sim)** add free-fall example and center of mass utils - [7c1f1d4](https://github.com/liblaf/apple/commit/7c1f1d4a5cdf8a8417aac9525356bdaf9fcc6f8f) by [@liblaf](https://github.com/liblaf) ### ❤️ Contributors - [@liblaf[bot]](https://github.com/apps/liblaf) - [@liblaf](https://github.com/liblaf) -## [0.1.0](https://github.com/liblaf/apple/releases/tag/v0.1.0) - 2025-07-01 +## [v0.1.0](https://github.com/liblaf/apple/releases/tag/v0.1.0) - 2025-07-01 ### 💥 BREAKING CHANGES -- next (#24) - [7620f38](https://github.com/liblaf/apple/commit/7620f386ff889b1a76bc3b919f603bc325213d81) by [@liblaf](https://github.com/liblaf) in [#24](https://github.com/liblaf/apple/pull/24) +- next (#24) - [7620f38](https://github.com/liblaf/apple/commit/7620f386ff889b1a76bc3b919f603bc325213d81) by [@liblaf](https://github.com/liblaf) - **(simulation)** Modifies physics simulation API including Config structure. Requires updates to existing simulation code and adds new dependencies. - [aa9ae7a](https://github.com/liblaf/apple/commit/aa9ae7a5385d344b80d505f8c9388c4f950fc594) by [@liblaf](https://github.com/liblaf) - **(struct)** All classes using flax.struct need to migrate to the new @@ -342,64 +384,64 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### ✨ Features -- **apple:** add AbstractMinimizeProblem and fix_winding utility - [c661b07](https://github.com/liblaf/apple/commit/c661b07ad722c844e4fc1d52f53aebeec3d4a237) by [@liblaf](https://github.com/liblaf) -- **dictutils,tree:** add FrozenDict and ArrayMixin - [dee4731](https://github.com/liblaf/apple/commit/dee473197b2b4638fb2da7859264ca76331958c3) by [@liblaf](https://github.com/liblaf) -- **dictutils/tree:** add dictionary utilities and improve container fields - [85ef3f1](https://github.com/liblaf/apple/commit/85ef3f1d0cb39a9f8da1ee1a15b4e0fa397bb330) by [@liblaf](https://github.com/liblaf) -- **dynamics:** add dynamic simulation capabilities to bunny example - [24b60bd](https://github.com/liblaf/apple/commit/24b60bd65306e98528694cf17495c877c9a4c35e) by [@liblaf](https://github.com/liblaf) -- **dynamics:** add gravity simulation with bunny example - [9134b72](https://github.com/liblaf/apple/commit/9134b72f0a2459b0e0ad1c0b637a4138edf33261) by [@liblaf](https://github.com/liblaf) -- **dynamics:** add collision example and update simulation parameters - [3906dcb](https://github.com/liblaf/apple/commit/3906dcb89ed3bcf0ddf76bc13e6afd5a94a53a65) by [@liblaf](https://github.com/liblaf) -- **dynamics:** enhance collision detection with animation and visualization - [edd25ce](https://github.com/liblaf/apple/commit/edd25ce18d231be5d45c10c9a6c06d6675a67bee) by [@liblaf](https://github.com/liblaf) -- **jaw-motion:** add jaw motion simulation experiment - [213362d](https://github.com/liblaf/apple/commit/213362d324b09e3e920a771453553a4ce0e0bf0b) by [@liblaf](https://github.com/liblaf) -- **jaw-motion:** add muscle activation simulation - [8a4a95f](https://github.com/liblaf/apple/commit/8a4a95f9d21536405e3d4171e10f30380bb13365) by [@liblaf](https://github.com/liblaf) -- **optim:** add JIT support and Hessian diagonal computation - [4aea353](https://github.com/liblaf/apple/commit/4aea353aff08ff3663a12e480239e1c3083c6551) by [@liblaf](https://github.com/liblaf) -- **physics:** restructure physics module with new domain and field system - [07b2823](https://github.com/liblaf/apple/commit/07b2823befd1f28c7d1813821d3821c05dd43efe) by [@liblaf](https://github.com/liblaf) -- **physics:** refactor field system and add dynamics support - [b9e5e01](https://github.com/liblaf/apple/commit/b9e5e01ed807ff8acd3ac50adae0ea2c76264dd7) by [@liblaf](https://github.com/liblaf) -- **physics:** enhance scene optimization and inertia calculations - [5fa2302](https://github.com/liblaf/apple/commit/5fa2302511317b002e7eaf835706ab9501b4c416) by [@liblaf](https://github.com/liblaf) -- **sim:** refactor and enhance simulation framework - [620906a](https://github.com/liblaf/apple/commit/620906ad20361542fc33c7a9a031ba8cc96ea2b7) by [@liblaf](https://github.com/liblaf) -- **sim:** implement new collision detection system - [9d1ffc4](https://github.com/liblaf/apple/commit/9d1ffc45bcc7f3f6e937fdbc82e206b5b4fd19a2) by [@liblaf](https://github.com/liblaf) -- **simulation:** add rigid-soft collision handling and simulation framework - [aa9ae7a](https://github.com/liblaf/apple/commit/aa9ae7a5385d344b80d505f8c9388c4f950fc594) by [@liblaf](https://github.com/liblaf) -- **strain:** optimize and refactor tetrahedral strain calculations - [fe2218f](https://github.com/liblaf/apple/commit/fe2218f41e74d767a561da3822dcb7d2c668d82f) by [@liblaf](https://github.com/liblaf) -- **strain:** add naive implementations of Qs and h3_diag functions - [a8bf975](https://github.com/liblaf/apple/commit/a8bf975cd90ddfb94148c996818e6c509323428a) by [@liblaf](https://github.com/liblaf) +- **(apple)** add AbstractMinimizeProblem and fix_winding utility - [c661b07](https://github.com/liblaf/apple/commit/c661b07ad722c844e4fc1d52f53aebeec3d4a237) by [@liblaf](https://github.com/liblaf) +- **(dictutils,tree)** add FrozenDict and ArrayMixin - [dee4731](https://github.com/liblaf/apple/commit/dee473197b2b4638fb2da7859264ca76331958c3) by [@liblaf](https://github.com/liblaf) +- **(dictutils/tree)** **\[breaking\]** add dictionary utilities and improve container fields - [85ef3f1](https://github.com/liblaf/apple/commit/85ef3f1d0cb39a9f8da1ee1a15b4e0fa397bb330) by [@liblaf](https://github.com/liblaf) +- **(dynamics)** add dynamic simulation capabilities to bunny example - [24b60bd](https://github.com/liblaf/apple/commit/24b60bd65306e98528694cf17495c877c9a4c35e) by [@liblaf](https://github.com/liblaf) +- **(dynamics)** add gravity simulation with bunny example - [9134b72](https://github.com/liblaf/apple/commit/9134b72f0a2459b0e0ad1c0b637a4138edf33261) by [@liblaf](https://github.com/liblaf) +- **(dynamics)** add collision example and update simulation parameters - [3906dcb](https://github.com/liblaf/apple/commit/3906dcb89ed3bcf0ddf76bc13e6afd5a94a53a65) by [@liblaf](https://github.com/liblaf) +- **(dynamics)** enhance collision detection with animation and visualization - [edd25ce](https://github.com/liblaf/apple/commit/edd25ce18d231be5d45c10c9a6c06d6675a67bee) by [@liblaf](https://github.com/liblaf) +- **(jaw-motion)** add jaw motion simulation experiment - [213362d](https://github.com/liblaf/apple/commit/213362d324b09e3e920a771453553a4ce0e0bf0b) by [@liblaf](https://github.com/liblaf) +- **(jaw-motion)** add muscle activation simulation - [8a4a95f](https://github.com/liblaf/apple/commit/8a4a95f9d21536405e3d4171e10f30380bb13365) by [@liblaf](https://github.com/liblaf) +- **(optim)** add JIT support and Hessian diagonal computation - [4aea353](https://github.com/liblaf/apple/commit/4aea353aff08ff3663a12e480239e1c3083c6551) by [@liblaf](https://github.com/liblaf) +- **(physics)** restructure physics module with new domain and field system - [07b2823](https://github.com/liblaf/apple/commit/07b2823befd1f28c7d1813821d3821c05dd43efe) by [@liblaf](https://github.com/liblaf) +- **(physics)** refactor field system and add dynamics support - [b9e5e01](https://github.com/liblaf/apple/commit/b9e5e01ed807ff8acd3ac50adae0ea2c76264dd7) by [@liblaf](https://github.com/liblaf) +- **(physics)** enhance scene optimization and inertia calculations - [5fa2302](https://github.com/liblaf/apple/commit/5fa2302511317b002e7eaf835706ab9501b4c416) by [@liblaf](https://github.com/liblaf) +- **(sim)** **\[breaking\]** refactor and enhance simulation framework - [620906a](https://github.com/liblaf/apple/commit/620906ad20361542fc33c7a9a031ba8cc96ea2b7) by [@liblaf](https://github.com/liblaf) +- **(sim)** **\[breaking\]** implement new collision detection system - [9d1ffc4](https://github.com/liblaf/apple/commit/9d1ffc45bcc7f3f6e937fdbc82e206b5b4fd19a2) by [@liblaf](https://github.com/liblaf) +- **(simulation)** **\[breaking\]** add rigid-soft collision handling and simulation framework - [aa9ae7a](https://github.com/liblaf/apple/commit/aa9ae7a5385d344b80d505f8c9388c4f950fc594) by [@liblaf](https://github.com/liblaf) +- **(strain)** optimize and refactor tetrahedral strain calculations - [fe2218f](https://github.com/liblaf/apple/commit/fe2218f41e74d767a561da3822dcb7d2c668d82f) by [@liblaf](https://github.com/liblaf) +- **(strain)** add naive implementations of Qs and h3_diag functions - [a8bf975](https://github.com/liblaf/apple/commit/a8bf975cd90ddfb94148c996818e6c509323428a) by [@liblaf](https://github.com/liblaf) - add benchmark tests and material models for FEM analysis - [888ffd8](https://github.com/liblaf/apple/commit/888ffd899714559008f5a7b6ee1b0fd47d8faa5b) by [@liblaf](https://github.com/liblaf) - add dynamic simulation capabilities and improve physics modeling - [07b0d1c](https://github.com/liblaf/apple/commit/07b0d1c18aa5833d9d324d4992573433cf4eb4fe) by [@liblaf](https://github.com/liblaf) -- next (#24) - [7620f38](https://github.com/liblaf/apple/commit/7620f386ff889b1a76bc3b919f603bc325213d81) by [@liblaf](https://github.com/liblaf) in [#24](https://github.com/liblaf/apple/pull/24) +- **\[breaking\]** next (#24) - [7620f38](https://github.com/liblaf/apple/commit/7620f386ff889b1a76bc3b919f603bc325213d81) by [@liblaf](https://github.com/liblaf) - add PNCG optimizer and enhance elastic energy models - [59c1612](https://github.com/liblaf/apple/commit/59c16127759c01e888980465b31f75bf1bdd74db) by [@liblaf](https://github.com/liblaf) - enhance physics simulation with Geometry class and PhaceStatic energy - [6968ad7](https://github.com/liblaf/apple/commit/6968ad78265c6f280496a4c658e201e2443c150a) by [@liblaf](https://github.com/liblaf) ### 🐛 Bug Fixes -- **deps:** update liblaf-grapes dependency to v0.1.28 - [68033eb](https://github.com/liblaf/apple/commit/68033ebc72eadf9e265915959c049363d2a4614f) by [@liblaf](https://github.com/liblaf) -- **deps:** update liblaf-melon dependency to v0.2.8 - [9ecefe1](https://github.com/liblaf/apple/commit/9ecefe192f31b49b1e1e10acba5a3d78ac58d343) by [@liblaf](https://github.com/liblaf) - -### ♻ Code Refactoring - -- **collision:** restructure vertex-face collision system - [971cbe2](https://github.com/liblaf/apple/commit/971cbe2c8f8f2d1f51421b6eb3aa8fb89eec4485) by [@liblaf](https://github.com/liblaf) -- **core:** migrate to Equinox PyTree management - [e774eeb](https://github.com/liblaf/apple/commit/e774eeb4ea3a027bde3fddbf9b84dab701a17237) by [@liblaf](https://github.com/liblaf) -- **optim:** simplify timing callback handling and update type hints - [31a4910](https://github.com/liblaf/apple/commit/31a4910189b5d6549a77218feb4ef3d0f1b36f98) by [@liblaf](https://github.com/liblaf) -- **optim:** restructure optimization module - [11900ed](https://github.com/liblaf/apple/commit/11900edb9ed023841933a0590381448b96034688) by [@liblaf](https://github.com/liblaf) -- **optim:** rewrite PNCG with improved math utilities - [6dcada1](https://github.com/liblaf/apple/commit/6dcada1fb8b5da19ea7d6c20822998d58a1bebef) by [@liblaf](https://github.com/liblaf) -- **physics:** restructure physics problem abstraction and material models - [7a4b236](https://github.com/liblaf/apple/commit/7a4b236d24c1e8cce2c738d0552baeb64fb11572) by [@liblaf](https://github.com/liblaf) -- **sim:** restructure finite element simulation components - [885fd8c](https://github.com/liblaf/apple/commit/885fd8c730db5b96ea876d58922202e8e9e2b4c2) by [@liblaf](https://github.com/liblaf) -- **sim:** restructure element and geometry classes - [3539cea](https://github.com/liblaf/apple/commit/3539cea691d29b3e97e2b477b21f40980338c589) by [@liblaf](https://github.com/liblaf) -- **sim:** reorganize geometry and field systems - [53fbd66](https://github.com/liblaf/apple/commit/53fbd66b6a55005251b70863dbbaf606fd78a620) by [@liblaf](https://github.com/liblaf) -- **sim:** restructure core components into ABCs - [bdbe382](https://github.com/liblaf/apple/commit/bdbe3824d4a0e57ba96e4bc82d477eb934492259) by [@liblaf](https://github.com/liblaf) -- **sim:** restructure core simulation modules - [a0e2108](https://github.com/liblaf/apple/commit/a0e21080325a8cff8a1fb63fc2d724eaf9f487a6) by [@liblaf](https://github.com/liblaf) -- **sim:** migrate inertia to new framework - [f4d2e8f](https://github.com/liblaf/apple/commit/f4d2e8f552ece5466f35c1961a70326573c42972) by [@liblaf](https://github.com/liblaf) -- **sim:** restructure core components and add collision detection - [b967f7f](https://github.com/liblaf/apple/commit/b967f7fb6705c888db9de989e13330e853f279d9) by [@liblaf](https://github.com/liblaf) -- **sim:** restructure core modules and utilities - [79da255](https://github.com/liblaf/apple/commit/79da255851e0ce09351c22d125a6d726c3b7b60f) by [@liblaf](https://github.com/liblaf) -- **sim:** overhaul actor system and geometry handling - [69b7e5b](https://github.com/liblaf/apple/commit/69b7e5b7b40fce9d181636fc79f3d6df890540d2) by [@liblaf](https://github.com/liblaf) -- **sim:** improve physics examples and core components - [156445f](https://github.com/liblaf/apple/commit/156445fe566af413f51cebe213f089c7d660d12f) by [@liblaf](https://github.com/liblaf) -- **sim:** remove physics module and improve implementation checks - [ad644d5](https://github.com/liblaf/apple/commit/ad644d560a7367f8924b97cd8b7e7ee72245010c) by [@liblaf](https://github.com/liblaf) -- **sim:** restructure simulation components and state - [1a38a3c](https://github.com/liblaf/apple/commit/1a38a3c3502d07ce0a361991878352d895950094) by [@liblaf](https://github.com/liblaf) -- **strain:** optimize deformation gradient calculations - [6be27eb](https://github.com/liblaf/apple/commit/6be27eb6ba496231a43d72978504b88fb549f329) by [@liblaf](https://github.com/liblaf) -- **struct:** replace flax.struct with custom Node system - [80d15a4](https://github.com/liblaf/apple/commit/80d15a40cef0e9787fffe4a36c85dca629caf5a2) by [@liblaf](https://github.com/liblaf) -- **tree:** reorganize pytree utilities - [314f218](https://github.com/liblaf/apple/commit/314f218ef59f92df88715183d7a63bb09718e878) by [@liblaf](https://github.com/liblaf) +- **(deps)** update liblaf-grapes dependency to v0.1.28 - [68033eb](https://github.com/liblaf/apple/commit/68033ebc72eadf9e265915959c049363d2a4614f) by [@liblaf](https://github.com/liblaf) +- **(deps)** update liblaf-melon dependency to v0.2.8 - [9ecefe1](https://github.com/liblaf/apple/commit/9ecefe192f31b49b1e1e10acba5a3d78ac58d343) by [@liblaf](https://github.com/liblaf) + +### ♻️ Code Refactoring + +- **(collision)** **\[breaking\]** restructure vertex-face collision system - [971cbe2](https://github.com/liblaf/apple/commit/971cbe2c8f8f2d1f51421b6eb3aa8fb89eec4485) by [@liblaf](https://github.com/liblaf) +- **(core)** **\[breaking\]** migrate to Equinox PyTree management - [e774eeb](https://github.com/liblaf/apple/commit/e774eeb4ea3a027bde3fddbf9b84dab701a17237) by [@liblaf](https://github.com/liblaf) +- **(optim)** simplify timing callback handling and update type hints - [31a4910](https://github.com/liblaf/apple/commit/31a4910189b5d6549a77218feb4ef3d0f1b36f98) by [@liblaf](https://github.com/liblaf) +- **(optim)** **\[breaking\]** restructure optimization module - [11900ed](https://github.com/liblaf/apple/commit/11900edb9ed023841933a0590381448b96034688) by [@liblaf](https://github.com/liblaf) +- **(optim)** **\[breaking\]** rewrite PNCG with improved math utilities - [6dcada1](https://github.com/liblaf/apple/commit/6dcada1fb8b5da19ea7d6c20822998d58a1bebef) by [@liblaf](https://github.com/liblaf) +- **(physics)** restructure physics problem abstraction and material models - [7a4b236](https://github.com/liblaf/apple/commit/7a4b236d24c1e8cce2c738d0552baeb64fb11572) by [@liblaf](https://github.com/liblaf) +- **(sim)** **\[breaking\]** restructure finite element simulation components - [885fd8c](https://github.com/liblaf/apple/commit/885fd8c730db5b96ea876d58922202e8e9e2b4c2) by [@liblaf](https://github.com/liblaf) +- **(sim)** **\[breaking\]** restructure element and geometry classes - [3539cea](https://github.com/liblaf/apple/commit/3539cea691d29b3e97e2b477b21f40980338c589) by [@liblaf](https://github.com/liblaf) +- **(sim)** **\[breaking\]** reorganize geometry and field systems - [53fbd66](https://github.com/liblaf/apple/commit/53fbd66b6a55005251b70863dbbaf606fd78a620) by [@liblaf](https://github.com/liblaf) +- **(sim)** **\[breaking\]** restructure core components into ABCs - [bdbe382](https://github.com/liblaf/apple/commit/bdbe3824d4a0e57ba96e4bc82d477eb934492259) by [@liblaf](https://github.com/liblaf) +- **(sim)** **\[breaking\]** restructure core simulation modules - [a0e2108](https://github.com/liblaf/apple/commit/a0e21080325a8cff8a1fb63fc2d724eaf9f487a6) by [@liblaf](https://github.com/liblaf) +- **(sim)** **\[breaking\]** migrate inertia to new framework - [f4d2e8f](https://github.com/liblaf/apple/commit/f4d2e8f552ece5466f35c1961a70326573c42972) by [@liblaf](https://github.com/liblaf) +- **(sim)** **\[breaking\]** restructure core components and add collision detection - [b967f7f](https://github.com/liblaf/apple/commit/b967f7fb6705c888db9de989e13330e853f279d9) by [@liblaf](https://github.com/liblaf) +- **(sim)** **\[breaking\]** restructure core modules and utilities - [79da255](https://github.com/liblaf/apple/commit/79da255851e0ce09351c22d125a6d726c3b7b60f) by [@liblaf](https://github.com/liblaf) +- **(sim)** **\[breaking\]** overhaul actor system and geometry handling - [69b7e5b](https://github.com/liblaf/apple/commit/69b7e5b7b40fce9d181636fc79f3d6df890540d2) by [@liblaf](https://github.com/liblaf) +- **(sim)** improve physics examples and core components - [156445f](https://github.com/liblaf/apple/commit/156445fe566af413f51cebe213f089c7d660d12f) by [@liblaf](https://github.com/liblaf) +- **(sim)** **\[breaking\]** remove physics module and improve implementation checks - [ad644d5](https://github.com/liblaf/apple/commit/ad644d560a7367f8924b97cd8b7e7ee72245010c) by [@liblaf](https://github.com/liblaf) +- **(sim)** **\[breaking\]** restructure simulation components and state - [1a38a3c](https://github.com/liblaf/apple/commit/1a38a3c3502d07ce0a361991878352d895950094) by [@liblaf](https://github.com/liblaf) +- **(strain)** optimize deformation gradient calculations - [6be27eb](https://github.com/liblaf/apple/commit/6be27eb6ba496231a43d72978504b88fb549f329) by [@liblaf](https://github.com/liblaf) +- **(struct)** **\[breaking\]** replace flax.struct with custom Node system - [80d15a4](https://github.com/liblaf/apple/commit/80d15a40cef0e9787fffe4a36c85dca629caf5a2) by [@liblaf](https://github.com/liblaf) +- **(tree)** **\[breaking\]** reorganize pytree utilities - [314f218](https://github.com/liblaf/apple/commit/314f218ef59f92df88715183d7a63bb09718e878) by [@liblaf](https://github.com/liblaf) - reorganize configuration files and update dependencies - [b4e8d32](https://github.com/liblaf/apple/commit/b4e8d320b29592c945fa690edfe90e65ffac366a) by [@liblaf](https://github.com/liblaf) - refactor dependencies and add Object class for physics simulation - [b3dbbaf](https://github.com/liblaf/apple/commit/b3dbbaf80f8410765bcdfb3abe41e6698ae6e542) by [@liblaf](https://github.com/liblaf) ### 🛠 Builds -- **deps:** update and relax dependency requirements - [a3e2597](https://github.com/liblaf/apple/commit/a3e259745e3a0eb49cf8ba49d7ad2d48498b56b4) by [@liblaf](https://github.com/liblaf) +- **(deps)** update and relax dependency requirements - [a3e2597](https://github.com/liblaf/apple/commit/a3e259745e3a0eb49cf8ba49d7ad2d48498b56b4) by [@liblaf](https://github.com/liblaf) - update project configuration and dependencies - [dbf4953](https://github.com/liblaf/apple/commit/dbf49536e976b10b2a129badd9fe091426725e6e) by [@liblaf](https://github.com/liblaf) - add Flax as a dependency - [97d5688](https://github.com/liblaf/apple/commit/97d5688de5e919ef986c10499975b5cc02a61c36) by [@liblaf](https://github.com/liblaf) @@ -408,22 +450,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [@liblaf[bot]](https://github.com/apps/liblaf) - [@liblaf](https://github.com/liblaf) -## [0.0.3](https://github.com/liblaf/apple/releases/tag/v0.0.3) - 2025-03-23 +## [v0.0.3](https://github.com/liblaf/apple/releases/tag/v0.0.3) - 2025-03-23 ### ✨ Features -- **phace:** add animation script and simulation modules - [468c982](https://github.com/liblaf/apple/commit/468c982da85847ffe63d7deaee6d17ba22edf4f9) by [@liblaf](https://github.com/liblaf) -- **physics:** add gravity support and refactor physics problem architecture - [4f50caa](https://github.com/liblaf/apple/commit/4f50caa40dbe7ba810d311b5540b57f10293f721) by [@liblaf](https://github.com/liblaf) +- **(phace)** add animation script and simulation modules - [468c982](https://github.com/liblaf/apple/commit/468c982da85847ffe63d7deaee6d17ba22edf4f9) by [@liblaf](https://github.com/liblaf) +- **(physics)** add gravity support and refactor physics problem architecture - [4f50caa](https://github.com/liblaf/apple/commit/4f50caa40dbe7ba810d311b5540b57f10293f721) by [@liblaf](https://github.com/liblaf) - add triangle element support and Koiter shell problem - [e23525c](https://github.com/liblaf/apple/commit/e23525ce50312a3271baba8cccf706f36ca517ee) by [@liblaf](https://github.com/liblaf) - add gradient descent optimizer and update inverse problem logic - [ae27101](https://github.com/liblaf/apple/commit/ae27101f950d915e315a9659cec79a16b11ebeb3) by [@liblaf](https://github.com/liblaf) ### 🐛 Bug Fixes -- **deps:** update dependency jaxtyping to >=0.3,<0.4 (#14) - [467d4dd](https://github.com/liblaf/apple/commit/467d4dd7a2996f3d4c6fa377a40a72f2d611a0aa) by [@renovate[bot]](https://github.com/apps/renovate) in [#14](https://github.com/liblaf/apple/pull/14) -- **deps:** update dependency liblaf-cherries to >=0.0.6,<0.0.7 (#13) - [d773f0f](https://github.com/liblaf/apple/commit/d773f0f1aa4052bcba86f2f70d95c839b058efc9) by [@renovate[bot]](https://github.com/apps/renovate) in [#13](https://github.com/liblaf/apple/pull/13) -- **deps:** update dependency liblaf-cherries to >=0.0.8,<0.0.9 (#15) - [67099cd](https://github.com/liblaf/apple/commit/67099cda79614cc8cf2c1036ceefbffeacec10f2) by [@renovate[bot]](https://github.com/apps/renovate) in [#15](https://github.com/liblaf/apple/pull/15) +- **(deps)** update dependency jaxtyping to >=0.3,<0.4 (#14) - [467d4dd](https://github.com/liblaf/apple/commit/467d4dd7a2996f3d4c6fa377a40a72f2d611a0aa) by [@renovate[bot]](https://github.com/apps/renovate) +- **(deps)** update dependency liblaf-cherries to >=0.0.6,<0.0.7 (#13) - [d773f0f](https://github.com/liblaf/apple/commit/d773f0f1aa4052bcba86f2f70d95c839b058efc9) by [@renovate[bot]](https://github.com/apps/renovate) +- **(deps)** update dependency liblaf-cherries to >=0.0.8,<0.0.9 (#15) - [67099cd](https://github.com/liblaf/apple/commit/67099cda79614cc8cf2c1036ceefbffeacec10f2) by [@renovate[bot]](https://github.com/apps/renovate) -### ♻ Code Refactoring +### ♻️ Code Refactoring - restructure physics problem implementation and optimization - [e98f4c5](https://github.com/liblaf/apple/commit/e98f4c5733f6911e24815e8b1f544c5214623a65) by [@liblaf](https://github.com/liblaf) - simplify physics problem builder pattern - [1aff338](https://github.com/liblaf/apple/commit/1aff33837cac11433ed80cd4b6f3488edf88119f) by [@liblaf](https://github.com/liblaf) @@ -434,7 +476,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [@renovate[bot]](https://github.com/apps/renovate) - [@liblaf](https://github.com/liblaf) -## [0.0.2](https://github.com/liblaf/apple/releases/tag/v0.0.2) - 2025-02-24 +## [v0.0.2](https://github.com/liblaf/apple/releases/tag/v0.0.2) - 2025-02-24 ### ✨ Features @@ -442,10 +484,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### 🐛 Bug Fixes -- **deps:** update dependency liblaf-grapes to >=0.1.0,<0.1.1 (#5) - [60fb1d0](https://github.com/liblaf/apple/commit/60fb1d09e62d7f10e520f40c7c4a22956a041ce9) by [@renovate[bot]](https://github.com/apps/renovate) in [#5](https://github.com/liblaf/apple/pull/5) -- **deps:** update dependency beartype to >=0.20,<0.21 (#8) - [df34ec2](https://github.com/liblaf/apple/commit/df34ec25a774e7c6858cd579747ec972da40926b) by [@renovate[bot]](https://github.com/apps/renovate) in [#8](https://github.com/liblaf/apple/pull/8) +- **(deps)** update dependency liblaf-grapes to >=0.1.0,<0.1.1 (#5) - [60fb1d0](https://github.com/liblaf/apple/commit/60fb1d09e62d7f10e520f40c7c4a22956a041ce9) by [@renovate[bot]](https://github.com/apps/renovate) +- **(deps)** update dependency beartype to >=0.20,<0.21 (#8) - [df34ec2](https://github.com/liblaf/apple/commit/df34ec25a774e7c6858cd579747ec972da40926b) by [@renovate[bot]](https://github.com/apps/renovate) -### ♻ Code Refactoring +### ♻️ Code Refactoring - reorganize and enhance abstract classes and utilities - [5f16903](https://github.com/liblaf/apple/commit/5f169036cd636ab9480e4f29004075e6af8f6939) by [@liblaf](https://github.com/liblaf) - remove unnecessary JAX configuration log - [2587b4e](https://github.com/liblaf/apple/commit/2587b4ee542fe3e47eafcefe58c9f4ca7bafd5a8) by [@liblaf](https://github.com/liblaf) @@ -456,22 +498,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [@liblaf](https://github.com/liblaf) - [@renovate[bot]](https://github.com/apps/renovate) -## [0.0.1](https://github.com/liblaf/apple/releases/tag/v0.0.1) - 2025-02-16 +## [v0.0.1](https://github.com/liblaf/apple/releases/tag/v0.0.1) - 2025-02-16 ### ✨ Features -- **opt:** add PNCG minimization algorithm and refactor strain test - [91208b7](https://github.com/liblaf/apple/commit/91208b7c382933586e8900419195c939b397f5ad) by [@liblaf](https://github.com/liblaf) +- **(opt)** add PNCG minimization algorithm and refactor strain test - [91208b7](https://github.com/liblaf/apple/commit/91208b7c382933586e8900419195c939b397f5ad) by [@liblaf](https://github.com/liblaf) - add tetrahedral element FEM and rotation-variant SVD - [ef11295](https://github.com/liblaf/apple/commit/ef11295ba1f85ef18f89063abcd7694de0d0af73) by [@liblaf](https://github.com/liblaf) ### 🐛 Bug Fixes -- **deps:** update dependency liblaf-grapes to >=0.0.4,<0.0.5 (#4) - [7db122f](https://github.com/liblaf/apple/commit/7db122f9f585ac6ba3ca6900e41d1ba059e37abd) by [@renovate[bot]](https://github.com/apps/renovate) in [#4](https://github.com/liblaf/apple/pull/4) +- **(deps)** update dependency liblaf-grapes to >=0.0.4,<0.0.5 (#4) - [7db122f](https://github.com/liblaf/apple/commit/7db122f9f585ac6ba3ca6900e41d1ba059e37abd) by [@renovate[bot]](https://github.com/apps/renovate) -### ♻ Code Refactoring +### ♻️ Code Refactoring - reorganize apple module structure and optimize physics simulation - [cd42fa4](https://github.com/liblaf/apple/commit/cd42fa4423b9ac8b8faeddebaad842d0a1eb8ac9) by [@liblaf](https://github.com/liblaf) -### ⚙️ Continuous Integration +### ⚙️ Continuous Integrations - correct syntax for `if` condition in test workflow - [b88f52e](https://github.com/liblaf/apple/commit/b88f52e6c02433c5df5148ca578d831493c18b4f) by [@liblaf](https://github.com/liblaf) @@ -481,7 +523,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [@liblaf](https://github.com/liblaf) - [@renovate[bot]](https://github.com/apps/renovate) made their first contribution in [#4](https://github.com/liblaf/apple/pull/4) -## [0.0.0](https://github.com/liblaf/apple/releases/tag/v0.0.0) - 2025-01-19 +## [v0.0.0](https://github.com/liblaf/apple/releases/tag/v0.0.0) - 2025-01-19 ### ✨ Features From 24bc449b5aebce6cde30bf45d6d412a724bf18d8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 13:20:13 +0000 Subject: [PATCH 2/2] chore(pre-commit): auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- exp/2025/10/22/inverse-flame/src/10-gen-forward.py | 4 ++-- exp/2025/10/22/inverse-flame/src/10-gen-partial.py | 6 +++--- exp/2025/10/22/inverse-flame/src/10-gen-sliding.py | 6 +++--- exp/2025/10/22/inverse-flame/src/10-gen-thin.py | 6 +++--- exp/2025/10/22/inverse-flame/src/10-gen.py | 6 +++--- exp/2025/10/22/inverse-flame/src/11-gen-manual.py | 4 ++-- .../10/22/inverse-flame/src/20-coarse-to-fine.py | 2 +- .../10/22/inverse-flame/src/20-inverse-adam-fine.py | 2 +- .../22/inverse-flame/src/20-inverse-adam-old-hess.py | 2 +- .../22/inverse-flame/src/20-inverse-adam-partial.py | 2 +- .../22/inverse-flame/src/20-inverse-adam-stage-2.py | 2 +- exp/2025/10/22/inverse-flame/src/20-inverse-adam.py | 2 +- exp/2025/10/22/inverse-flame/src/20-inverse-lbfgs.py | 2 +- exp/2025/10/22/inverse-flame/src/21-forward.py | 2 +- .../10/22/inverse-flame/src/21-inverse-inspect.py | 2 +- exp/2025/12/31/inverse-toy/src/10-gen-grid.py | 4 ++-- exp/2025/12/31/inverse-toy/src/10-gen.py | 4 ++-- exp/2025/12/31/inverse-toy/src/20-forward-muscle.py | 4 ++-- exp/2025/12/31/inverse-toy/src/20-forward-newton.py | 4 ++-- .../12/31/inverse-toy/src/20-forward-prestrain.py | 8 ++++---- exp/2025/12/31/inverse-toy/src/20-forward.py | 6 +++--- ...6-activation-stable-neo-hookean-easy-metrics.json | 2 +- ...-muscle46-activation-stable-neo-hookean-easy.json | 2 +- ...6-activation-stable-neo-hookean-zero-metrics.json | 2 +- ...-muscle46-activation-stable-neo-hookean-zero.json | 2 +- ...mas46-muscle46-activation-stable-neo-hookean.json | 2 +- exp/2026/01/28/smas/src/10-gen-conform.py | 4 ++-- exp/2026/01/28/smas/src/10-gen-ellipsoid.py | 4 ++-- exp/2026/01/28/smas/src/10-gen.py | 4 ++-- exp/2026/01/28/smas/src/11-smas-bottom-force.py | 2 +- exp/2026/01/28/smas/src/20-cond.py | 4 ++-- .../src/20-forward-bottom-dirichlet-neo-hookean.py | 6 +++--- ...20-forward-bottom-dirichlet-stable-neo-hookean.py | 6 +++--- .../01/28/smas/src/20-forward-bottom-dirichlet.py | 6 +++--- .../28/smas/src/20-forward-ext-force-neo-hookean.py | 8 ++++---- ...orce-stable-neo-hookean-fat-only-top-dirichlet.py | 8 ++++---- ...20-forward-ext-force-stable-neo-hookean-ramped.py | 6 +++--- ...forward-ext-force-stable-neo-hookean-smas-only.py | 8 ++++---- ...rd-ext-force-stable-neo-hookean-uniform-ramped.py | 6 +++--- ...0-forward-ext-force-stable-neo-hookean-uniform.py | 8 ++++---- .../src/20-forward-ext-force-stable-neo-hookean.py | 8 ++++---- exp/2026/01/28/smas/src/20-forward-ext-force.py | 8 ++++---- exp/2026/01/28/smas/src/20-forward-phace.py | 4 ++-- exp/2026/01/28/smas/src/20-forward-prestrain.py | 6 +++--- exp/2026/01/28/smas/src/20-forward-subface-base.py | 8 ++++---- exp/2026/01/28/smas/src/20-forward-test.py | 6 +++--- exp/2026/01/28/smas/src/20-forward-whole.py | 4 ++-- ...rd-bottom-dirichlet-stable-neo-hookean-hessian.py | 8 ++++---- exp/2026/01/28/smas/src/21-forward-whole.py | 6 +++--- ...richlet-stable-neo-hookean-hessian-generalized.py | 8 ++++---- exp/2026/01/28/smas/src/30-inverse-neo-hookean.py | 6 +++--- .../01/28/smas/src/30-inverse-stable-neo-hookean.py | 6 +++--- exp/2026/01/28/smas/src/30-inverse-test.py | 6 +++--- .../smas/src/30-inverse-unreachable-arap-hessian.py | 6 +++--- .../src/30-inverse-unreachable-stable-neo-hookean.py | 6 +++--- exp/2026/01/28/smas/src/30-inverse-unreachable.py | 6 +++--- exp/2026/01/28/smas/src/30-inverse.py | 6 +++--- .../src/31-inverse-activation-stable-neo-hookean.py | 12 ++++++------ exp/2026/03/11/test-inverse/src/20-forward.py | 4 ++-- exp/2026/03/11/test-inverse/src/30-inverse.py | 6 +++--- 60 files changed, 150 insertions(+), 150 deletions(-) diff --git a/exp/2025/10/22/inverse-flame/src/10-gen-forward.py b/exp/2025/10/22/inverse-flame/src/10-gen-forward.py index d0b097b83..f16a2b94e 100644 --- a/exp/2025/10/22/inverse-flame/src/10-gen-forward.py +++ b/exp/2025/10/22/inverse-flame/src/10-gen-forward.py @@ -4,10 +4,10 @@ import jax.numpy as jnp import pyvista as pv from jaxtyping import Array, Float, Integer - -from liblaf import cherries, melon from liblaf.apple.consts import ACTIVATION, MUSCLE_FRACTION, POINT_ID from liblaf.apple.model import Forward, Model, ModelBuilder + +from liblaf import cherries, melon from liblaf.apple.warp import Phace diff --git a/exp/2025/10/22/inverse-flame/src/10-gen-partial.py b/exp/2025/10/22/inverse-flame/src/10-gen-partial.py index 7ed1a9097..2b029c0d4 100644 --- a/exp/2025/10/22/inverse-flame/src/10-gen-partial.py +++ b/exp/2025/10/22/inverse-flame/src/10-gen-partial.py @@ -5,9 +5,6 @@ import pyvista as pv from environs import env from jaxtyping import Array, Bool, Float, Integer - -from liblaf import cherries, grapes, melon -from liblaf.apple import utils from liblaf.apple.consts import ( ACTIVATION, DIRICHLET_MASK, @@ -17,6 +14,9 @@ MUSCLE_FRACTION, ) +from liblaf import cherries, grapes, melon +from liblaf.apple import utils + SUFFIX: str = env.str("SUFFIX", default="-515k") diff --git a/exp/2025/10/22/inverse-flame/src/10-gen-sliding.py b/exp/2025/10/22/inverse-flame/src/10-gen-sliding.py index 2e46a5db8..9c394bd01 100644 --- a/exp/2025/10/22/inverse-flame/src/10-gen-sliding.py +++ b/exp/2025/10/22/inverse-flame/src/10-gen-sliding.py @@ -5,9 +5,6 @@ import pyvista as pv from environs import env from jaxtyping import Array, Bool, Float, Integer - -from liblaf import cherries, grapes, melon -from liblaf.apple import utils from liblaf.apple.consts import ( ACTIVATION, DIRICHLET_MASK, @@ -17,6 +14,9 @@ MUSCLE_FRACTION, ) +from liblaf import cherries, grapes, melon +from liblaf.apple import utils + SUFFIX: str = env.str("SUFFIX", default="-515k") diff --git a/exp/2025/10/22/inverse-flame/src/10-gen-thin.py b/exp/2025/10/22/inverse-flame/src/10-gen-thin.py index 5ece2e213..bf1ea4ef9 100644 --- a/exp/2025/10/22/inverse-flame/src/10-gen-thin.py +++ b/exp/2025/10/22/inverse-flame/src/10-gen-thin.py @@ -6,9 +6,6 @@ import scipy from environs import env from jaxtyping import Array, Bool, Float, Integer - -from liblaf import cherries, grapes, melon -from liblaf.apple import utils from liblaf.apple.consts import ( ACTIVATION, DIRICHLET_MASK, @@ -18,6 +15,9 @@ MUSCLE_FRACTION, ) +from liblaf import cherries, grapes, melon +from liblaf.apple import utils + SUFFIX: str = env.str("SUFFIX", default="-123k") diff --git a/exp/2025/10/22/inverse-flame/src/10-gen.py b/exp/2025/10/22/inverse-flame/src/10-gen.py index fd66e8fff..609f95f60 100644 --- a/exp/2025/10/22/inverse-flame/src/10-gen.py +++ b/exp/2025/10/22/inverse-flame/src/10-gen.py @@ -5,9 +5,6 @@ import pyvista as pv from environs import env from jaxtyping import Array, Bool, Float, Integer - -from liblaf import cherries, grapes, melon -from liblaf.apple import utils from liblaf.apple.consts import ( ACTIVATION, DIRICHLET_MASK, @@ -17,6 +14,9 @@ MUSCLE_FRACTION, ) +from liblaf import cherries, grapes, melon +from liblaf.apple import utils + SUFFIX: str = env.str("SUFFIX", default="-68k-coarse") diff --git a/exp/2025/10/22/inverse-flame/src/11-gen-manual.py b/exp/2025/10/22/inverse-flame/src/11-gen-manual.py index baa6d89e1..ce09cd7fe 100644 --- a/exp/2025/10/22/inverse-flame/src/11-gen-manual.py +++ b/exp/2025/10/22/inverse-flame/src/11-gen-manual.py @@ -5,10 +5,10 @@ import pyvista as pv from environs import env from jaxtyping import Array, Bool, Float, Integer - -from liblaf import cherries, melon from liblaf.apple.consts import ACTIVATION, POINT_ID from liblaf.apple.model import Forward, Model, ModelBuilder + +from liblaf import cherries, melon from liblaf.apple.warp import Phace diff --git a/exp/2025/10/22/inverse-flame/src/20-coarse-to-fine.py b/exp/2025/10/22/inverse-flame/src/20-coarse-to-fine.py index 2ec7cf93a..82a64bdc4 100644 --- a/exp/2025/10/22/inverse-flame/src/20-coarse-to-fine.py +++ b/exp/2025/10/22/inverse-flame/src/20-coarse-to-fine.py @@ -1,10 +1,10 @@ from pathlib import Path import pyvista as pv +from liblaf.apple.consts import ACTIVATION, POINT_ID from liblaf import cherries, melon from liblaf.apple import Forward, Model, ModelBuilder -from liblaf.apple.consts import ACTIVATION, POINT_ID from liblaf.apple.warp import Phace diff --git a/exp/2025/10/22/inverse-flame/src/20-inverse-adam-fine.py b/exp/2025/10/22/inverse-flame/src/20-inverse-adam-fine.py index 31b2698c1..5bd3e3a65 100644 --- a/exp/2025/10/22/inverse-flame/src/20-inverse-adam-fine.py +++ b/exp/2025/10/22/inverse-flame/src/20-inverse-adam-fine.py @@ -9,6 +9,7 @@ import pyvista as pv from environs import env from jaxtyping import Array, Bool, Float, Integer +from liblaf.apple.consts import ACTIVATION, MUSCLE_FRACTION, POINT_ID from liblaf.peach import tree from liblaf.peach.linalg import CompositeSolver from liblaf.peach.optim import PNCG, Optax, Optimizer @@ -16,7 +17,6 @@ from liblaf import cherries, grapes, melon from liblaf.apple import Forward, Inverse, Model, ModelBuilder -from liblaf.apple.consts import ACTIVATION, MUSCLE_FRACTION, POINT_ID from liblaf.apple.warp import Phace type Vector = Float[Array, " N"] diff --git a/exp/2025/10/22/inverse-flame/src/20-inverse-adam-old-hess.py b/exp/2025/10/22/inverse-flame/src/20-inverse-adam-old-hess.py index 914a5b097..d3d042641 100644 --- a/exp/2025/10/22/inverse-flame/src/20-inverse-adam-old-hess.py +++ b/exp/2025/10/22/inverse-flame/src/20-inverse-adam-old-hess.py @@ -9,6 +9,7 @@ import pyvista as pv from environs import env from jaxtyping import Array, Bool, Float, Integer +from liblaf.apple.consts import ACTIVATION, MUSCLE_FRACTION, POINT_ID from liblaf.peach import tree from liblaf.peach.linalg import CompositeSolver from liblaf.peach.optim import PNCG, Optax, Optimizer @@ -16,7 +17,6 @@ from liblaf import cherries, grapes, melon from liblaf.apple import Forward, Inverse, Model, ModelBuilder -from liblaf.apple.consts import ACTIVATION, MUSCLE_FRACTION, POINT_ID from liblaf.apple.warp import Phace type Vector = Float[Array, " N"] diff --git a/exp/2025/10/22/inverse-flame/src/20-inverse-adam-partial.py b/exp/2025/10/22/inverse-flame/src/20-inverse-adam-partial.py index 23d04fb0a..f75bda3f5 100644 --- a/exp/2025/10/22/inverse-flame/src/20-inverse-adam-partial.py +++ b/exp/2025/10/22/inverse-flame/src/20-inverse-adam-partial.py @@ -9,6 +9,7 @@ import pyvista as pv from environs import env from jaxtyping import Array, Bool, Float, Integer +from liblaf.apple.consts import ACTIVATION, MUSCLE_FRACTION, POINT_ID from liblaf.peach import tree from liblaf.peach.linalg import CompositeSolver from liblaf.peach.optim import PNCG, Optax, Optimizer @@ -16,7 +17,6 @@ from liblaf import cherries, grapes, melon from liblaf.apple import Forward, Inverse, Model, ModelBuilder -from liblaf.apple.consts import ACTIVATION, MUSCLE_FRACTION, POINT_ID from liblaf.apple.warp import Phace type Vector = Float[Array, " N"] diff --git a/exp/2025/10/22/inverse-flame/src/20-inverse-adam-stage-2.py b/exp/2025/10/22/inverse-flame/src/20-inverse-adam-stage-2.py index 05e493b90..a84f6b4ff 100644 --- a/exp/2025/10/22/inverse-flame/src/20-inverse-adam-stage-2.py +++ b/exp/2025/10/22/inverse-flame/src/20-inverse-adam-stage-2.py @@ -9,6 +9,7 @@ import pyvista as pv from environs import env from jaxtyping import Array, Bool, Float, Integer +from liblaf.apple.consts import ACTIVATION, MUSCLE_FRACTION, POINT_ID from liblaf.peach import tree from liblaf.peach.linalg import CompositeSolver from liblaf.peach.optim import PNCG, Optax, Optimizer @@ -16,7 +17,6 @@ from liblaf import cherries, grapes, melon from liblaf.apple import Forward, Inverse, Model, ModelBuilder -from liblaf.apple.consts import ACTIVATION, MUSCLE_FRACTION, POINT_ID from liblaf.apple.warp import Phace type Vector = Float[Array, " N"] diff --git a/exp/2025/10/22/inverse-flame/src/20-inverse-adam.py b/exp/2025/10/22/inverse-flame/src/20-inverse-adam.py index 867c24cb8..7353f02f5 100644 --- a/exp/2025/10/22/inverse-flame/src/20-inverse-adam.py +++ b/exp/2025/10/22/inverse-flame/src/20-inverse-adam.py @@ -11,6 +11,7 @@ import pyvista as pv from environs import env from jaxtyping import Array, Bool, Float, Integer +from liblaf.apple.consts import ACTIVATION, LAMBDA, MU, MUSCLE_FRACTION, POINT_ID from liblaf.peach import tree from liblaf.peach.linalg import CompositeSolver from liblaf.peach.optim import PNCG, Optax, Optimizer @@ -18,7 +19,6 @@ from liblaf import cherries, grapes, melon from liblaf.apple import Forward, Inverse, Model, ModelBuilder -from liblaf.apple.consts import ACTIVATION, LAMBDA, MU, MUSCLE_FRACTION, POINT_ID from liblaf.apple.warp import Phace type Vector = Float[Array, " N"] diff --git a/exp/2025/10/22/inverse-flame/src/20-inverse-lbfgs.py b/exp/2025/10/22/inverse-flame/src/20-inverse-lbfgs.py index 218d82490..319921753 100644 --- a/exp/2025/10/22/inverse-flame/src/20-inverse-lbfgs.py +++ b/exp/2025/10/22/inverse-flame/src/20-inverse-lbfgs.py @@ -9,13 +9,13 @@ import pyvista as pv from environs import env from jaxtyping import Array, Bool, Float, Integer +from liblaf.apple.consts import ACTIVATION, MUSCLE_FRACTION, POINT_ID from liblaf.peach import tree from liblaf.peach.linalg import LinearSolver from liblaf.peach.optim import Optimizer, ScipyOptimizer from liblaf import cherries, grapes, melon from liblaf.apple import Forward, Inverse, Model, ModelBuilder -from liblaf.apple.consts import ACTIVATION, MUSCLE_FRACTION, POINT_ID from liblaf.apple.warp import Phace type Vector = Float[Array, " N"] diff --git a/exp/2025/10/22/inverse-flame/src/21-forward.py b/exp/2025/10/22/inverse-flame/src/21-forward.py index 537c836d2..007724f8f 100644 --- a/exp/2025/10/22/inverse-flame/src/21-forward.py +++ b/exp/2025/10/22/inverse-flame/src/21-forward.py @@ -4,11 +4,11 @@ import jax.numpy as jnp import pyvista as pv from jaxtyping import Array, Float +from liblaf.apple.consts import ACTIVATION, POINT_ID from liblaf.peach.optim import PNCG from liblaf import cherries, melon from liblaf.apple import Forward, Model, ModelBuilder -from liblaf.apple.consts import ACTIVATION, POINT_ID from liblaf.apple.warp import Phace type Scalar = Float[Array, ""] diff --git a/exp/2025/10/22/inverse-flame/src/21-inverse-inspect.py b/exp/2025/10/22/inverse-flame/src/21-inverse-inspect.py index 0ab1611a4..92ebc0f57 100644 --- a/exp/2025/10/22/inverse-flame/src/21-inverse-inspect.py +++ b/exp/2025/10/22/inverse-flame/src/21-inverse-inspect.py @@ -4,9 +4,9 @@ import numpy as np import pyvista as pv from jaxtyping import Array, Bool, Float +from liblaf.apple.consts import ACTIVATION from liblaf import cherries, melon -from liblaf.apple.consts import ACTIVATION from liblaf.apple.jax import make_activation diff --git a/exp/2025/12/31/inverse-toy/src/10-gen-grid.py b/exp/2025/12/31/inverse-toy/src/10-gen-grid.py index aa2c115b1..dcc33b628 100644 --- a/exp/2025/12/31/inverse-toy/src/10-gen-grid.py +++ b/exp/2025/12/31/inverse-toy/src/10-gen-grid.py @@ -3,8 +3,6 @@ import pyvista as pv from environs import env from jaxtyping import Array, Float, Integer - -from liblaf import cherries, melon from liblaf.apple.consts import ( ACTIVATION, DIRICHLET_MASK, @@ -14,6 +12,8 @@ MUSCLE_FRACTION, ) +from liblaf import cherries, melon + class Config(cherries.BaseConfig): # lr=0.05 coarsen -> 4k-coarse diff --git a/exp/2025/12/31/inverse-toy/src/10-gen.py b/exp/2025/12/31/inverse-toy/src/10-gen.py index e1327af90..616632ba7 100644 --- a/exp/2025/12/31/inverse-toy/src/10-gen.py +++ b/exp/2025/12/31/inverse-toy/src/10-gen.py @@ -3,8 +3,6 @@ import pyvista as pv from environs import env from jaxtyping import Array, Float, Integer - -from liblaf import cherries, melon from liblaf.apple.consts import ( ACTIVATION, DIRICHLET_MASK, @@ -13,6 +11,8 @@ MU, ) +from liblaf import cherries, melon + class Config(cherries.BaseConfig): # lr=0.05 coarsen -> 4k-coarse diff --git a/exp/2025/12/31/inverse-toy/src/20-forward-muscle.py b/exp/2025/12/31/inverse-toy/src/20-forward-muscle.py index d52811e4d..8dd64ee30 100644 --- a/exp/2025/12/31/inverse-toy/src/20-forward-muscle.py +++ b/exp/2025/12/31/inverse-toy/src/20-forward-muscle.py @@ -2,11 +2,11 @@ import numpy as np import pyvista as pv from environs import env +from liblaf.apple.consts import ACTIVATION, GLOBAL_POINT_ID, LAMBDA, MU, MUSCLE_FRACTION +from liblaf.apple.model import Forward, Model, ModelBuilder from liblaf.peach.optim import PNCG from liblaf import cherries, melon -from liblaf.apple.consts import ACTIVATION, GLOBAL_POINT_ID, LAMBDA, MU, MUSCLE_FRACTION -from liblaf.apple.model import Forward, Model, ModelBuilder from liblaf.apple.warp import WarpArapMuscle diff --git a/exp/2025/12/31/inverse-toy/src/20-forward-newton.py b/exp/2025/12/31/inverse-toy/src/20-forward-newton.py index 0e414c02a..954b5aaad 100644 --- a/exp/2025/12/31/inverse-toy/src/20-forward-newton.py +++ b/exp/2025/12/31/inverse-toy/src/20-forward-newton.py @@ -2,11 +2,11 @@ import numpy as np import pyvista as pv from environs import env +from liblaf.apple.consts import ACTIVATION, LAMBDA, POINT_ID +from liblaf.apple.model import Forward, Model, ModelBuilder from liblaf.peach.optim import ScipyOptimizer from liblaf import cherries, melon -from liblaf.apple.consts import ACTIVATION, LAMBDA, POINT_ID -from liblaf.apple.model import Forward, Model, ModelBuilder from liblaf.apple.warp import Phace diff --git a/exp/2025/12/31/inverse-toy/src/20-forward-prestrain.py b/exp/2025/12/31/inverse-toy/src/20-forward-prestrain.py index 21d880a07..5ff17e30f 100644 --- a/exp/2025/12/31/inverse-toy/src/20-forward-prestrain.py +++ b/exp/2025/12/31/inverse-toy/src/20-forward-prestrain.py @@ -5,9 +5,6 @@ import pyvista as pv import warp as wp from environs import env -from liblaf.peach.optim import PNCG, Objective, Optax, Optimizer, ScipyOptimizer - -from liblaf import cherries, melon from liblaf.apple.consts import ( ACTIVATION, GLOBAL_POINT_ID, @@ -15,8 +12,11 @@ PRESTRAIN, STIFFNESS, ) -from liblaf.apple.jax import JaxMassSpringPrestrain from liblaf.apple.model import Forward, Model, ModelBuilder, ModelState +from liblaf.peach.optim import PNCG, Objective, Optax, Optimizer, ScipyOptimizer + +from liblaf import cherries, melon +from liblaf.apple.jax import JaxMassSpringPrestrain from liblaf.apple.warp import WarpPhaceV2 wp.config.mode = "debug" diff --git a/exp/2025/12/31/inverse-toy/src/20-forward.py b/exp/2025/12/31/inverse-toy/src/20-forward.py index fc3c2fb38..6acce64e6 100644 --- a/exp/2025/12/31/inverse-toy/src/20-forward.py +++ b/exp/2025/12/31/inverse-toy/src/20-forward.py @@ -5,9 +5,6 @@ import pyvista as pv import warp as wp from environs import env -from liblaf.peach.optim import PNCG, Objective, Optax, Optimizer, ScipyOptimizer - -from liblaf import cherries, melon from liblaf.apple.consts import ACTIVATION, GLOBAL_POINT_ID, LAMBDA from liblaf.apple.model import Forward, Model, ModelBuilder, ModelState from liblaf.apple.warp.energies.elastic import ( @@ -15,6 +12,9 @@ WarpPhaceV2, # WarpVolumePreservationDeterminant, ) +from liblaf.peach.optim import PNCG, Objective, Optax, Optimizer, ScipyOptimizer + +from liblaf import cherries, melon wp.config.mode = "release" # wp.config.print_launches = True diff --git a/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-easy-metrics.json b/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-easy-metrics.json index 18b901c7e..39971bce3 100644 --- a/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-easy-metrics.json +++ b/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-easy-metrics.json @@ -26,4 +26,4 @@ "forward_best_objective": 1481.1424852869957, "finite_outputs": true } -] \ No newline at end of file +] diff --git a/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-easy.json b/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-easy.json index c061b297c..94d53e89e 100644 --- a/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-easy.json +++ b/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-easy.json @@ -38,4 +38,4 @@ "adjoint-relative-residual": "/home/liblaf/github/liblaf/apple/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-easy-metrics-adjoint-relative-residual.png", "inverse-grad-absolute": "/home/liblaf/github/liblaf/apple/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-easy-metrics-inverse-grad-absolute.png" } -} \ No newline at end of file +} diff --git a/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-zero-metrics.json b/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-zero-metrics.json index e3eae723a..ed4812d40 100644 --- a/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-zero-metrics.json +++ b/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-zero-metrics.json @@ -404,4 +404,4 @@ "forward_best_objective": 1485.5675728610533, "finite_outputs": true } -] \ No newline at end of file +] diff --git a/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-zero.json b/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-zero.json index dc9f6ea0e..2f7ccd935 100644 --- a/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-zero.json +++ b/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-zero.json @@ -43,4 +43,4 @@ "adjoint-relative-residual": "/home/liblaf/github/liblaf/apple/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-zero-metrics-adjoint-relative-residual.png", "inverse-grad-absolute": "/home/liblaf/github/liblaf/apple/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean-zero-metrics-inverse-grad-absolute.png" } -} \ No newline at end of file +} diff --git a/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean.json b/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean.json index d95032cbc..541e835f1 100644 --- a/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean.json +++ b/exp/2026/01/28/smas/data/31-inverse-smas46-muscle46-activation-stable-neo-hookean.json @@ -88,4 +88,4 @@ } } ] -} \ No newline at end of file +} diff --git a/exp/2026/01/28/smas/src/10-gen-conform.py b/exp/2026/01/28/smas/src/10-gen-conform.py index 1fd366c3c..25c1a6fa2 100644 --- a/exp/2026/01/28/smas/src/10-gen-conform.py +++ b/exp/2026/01/28/smas/src/10-gen-conform.py @@ -1,8 +1,6 @@ import numpy as np import pyvista as pv from environs import env - -from liblaf import cherries, melon from liblaf.apple.consts import ( DIRICHLET_MASK, DIRICHLET_VALUE, @@ -11,6 +9,8 @@ SMAS_FRACTION, ) +from liblaf import cherries, melon + class Config(cherries.BaseConfig): coarsen: bool = env.bool("COARSEN", False) diff --git a/exp/2026/01/28/smas/src/10-gen-ellipsoid.py b/exp/2026/01/28/smas/src/10-gen-ellipsoid.py index 54cfa907c..e6c06aa89 100644 --- a/exp/2026/01/28/smas/src/10-gen-ellipsoid.py +++ b/exp/2026/01/28/smas/src/10-gen-ellipsoid.py @@ -1,7 +1,5 @@ import numpy as np import pyvista as pv - -from liblaf import cherries, melon from liblaf.apple.consts import ( DIRICHLET_MASK, DIRICHLET_VALUE, @@ -9,6 +7,8 @@ MUSCLE_FRACTION, ) +from liblaf import cherries, melon + class Config(cherries.BaseConfig): pass diff --git a/exp/2026/01/28/smas/src/10-gen.py b/exp/2026/01/28/smas/src/10-gen.py index c202beb96..d2821ef29 100644 --- a/exp/2026/01/28/smas/src/10-gen.py +++ b/exp/2026/01/28/smas/src/10-gen.py @@ -1,7 +1,5 @@ import numpy as np import pyvista as pv - -from liblaf import cherries, melon from liblaf.apple.consts import ( DIRICHLET_MASK, DIRICHLET_VALUE, @@ -9,6 +7,8 @@ MUSCLE_FRACTION, ) +from liblaf import cherries, melon + class Config(cherries.BaseConfig): pass diff --git a/exp/2026/01/28/smas/src/11-smas-bottom-force.py b/exp/2026/01/28/smas/src/11-smas-bottom-force.py index 1cd0d26ba..580d66083 100644 --- a/exp/2026/01/28/smas/src/11-smas-bottom-force.py +++ b/exp/2026/01/28/smas/src/11-smas-bottom-force.py @@ -3,9 +3,9 @@ import numpy as np import pyvista as pv from environs import env +from liblaf.apple.consts import GLOBAL_POINT_ID, SMAS_FRACTION from liblaf import cherries, melon -from liblaf.apple.consts import GLOBAL_POINT_ID, SMAS_FRACTION FORCE = "Force" IS_SMAS_TET = "IsSmasTet" diff --git a/exp/2026/01/28/smas/src/20-cond.py b/exp/2026/01/28/smas/src/20-cond.py index 2f8d5da02..00044a5fc 100644 --- a/exp/2026/01/28/smas/src/20-cond.py +++ b/exp/2026/01/28/smas/src/20-cond.py @@ -4,10 +4,10 @@ import numpy as np import pyvista as pv from environs import env - -from liblaf import cherries, melon from liblaf.apple.consts import ACTIVATION, LAMBDA, MU, MUSCLE_FRACTION, SMAS_FRACTION from liblaf.apple.model import Forward, Model, ModelBuilder + +from liblaf import cherries, melon from liblaf.apple.warp import ( WarpArap, WarpArapMuscle, diff --git a/exp/2026/01/28/smas/src/20-forward-bottom-dirichlet-neo-hookean.py b/exp/2026/01/28/smas/src/20-forward-bottom-dirichlet-neo-hookean.py index 99e8fcd86..c2aa9b508 100644 --- a/exp/2026/01/28/smas/src/20-forward-bottom-dirichlet-neo-hookean.py +++ b/exp/2026/01/28/smas/src/20-forward-bottom-dirichlet-neo-hookean.py @@ -6,9 +6,6 @@ import pyvista as pv import warp as wp from environs import env -from liblaf.peach.optim import Objective, Optimizer - -from liblaf import cherries, melon from liblaf.apple.consts import ( ACTIVATION, DIRICHLET_MASK, @@ -21,6 +18,9 @@ ) from liblaf.apple.model import Forward, Model, ModelBuilder, ModelState from liblaf.apple.optim import PNCG +from liblaf.peach.optim import Objective, Optimizer + +from liblaf import cherries, melon from liblaf.apple.warp import WarpNeoHookean, WarpNeoHookeanMuscle SUFFIX: str = "-smas46-muscle46" diff --git a/exp/2026/01/28/smas/src/20-forward-bottom-dirichlet-stable-neo-hookean.py b/exp/2026/01/28/smas/src/20-forward-bottom-dirichlet-stable-neo-hookean.py index 036d5fce3..f359ca4cb 100644 --- a/exp/2026/01/28/smas/src/20-forward-bottom-dirichlet-stable-neo-hookean.py +++ b/exp/2026/01/28/smas/src/20-forward-bottom-dirichlet-stable-neo-hookean.py @@ -5,9 +5,6 @@ import pyvista as pv import warp as wp from environs import env -from liblaf.peach.optim import Optimizer - -from liblaf import cherries, melon from liblaf.apple.consts import ( ACTIVATION, DIRICHLET_MASK, @@ -19,6 +16,9 @@ SMAS_FRACTION, ) from liblaf.apple.model import Forward, Model, ModelBuilder +from liblaf.peach.optim import Optimizer + +from liblaf import cherries, melon from liblaf.apple.warp import WarpStableNeoHookean, WarpStableNeoHookeanMuscle SUFFIX: str = "-smas46-muscle46" diff --git a/exp/2026/01/28/smas/src/20-forward-bottom-dirichlet.py b/exp/2026/01/28/smas/src/20-forward-bottom-dirichlet.py index bc47927f3..e5680b34c 100644 --- a/exp/2026/01/28/smas/src/20-forward-bottom-dirichlet.py +++ b/exp/2026/01/28/smas/src/20-forward-bottom-dirichlet.py @@ -5,9 +5,6 @@ import numpy as np import pyvista as pv from environs import env -from liblaf.peach.optim import PNCG, Optimizer - -from liblaf import cherries, melon from liblaf.apple.consts import ( ACTIVATION, DIRICHLET_MASK, @@ -19,6 +16,9 @@ SMAS_FRACTION, ) from liblaf.apple.model import Forward, Model, ModelBuilder +from liblaf.peach.optim import PNCG, Optimizer + +from liblaf import cherries, melon from liblaf.apple.warp import ( WarpArap, WarpArapMuscle, diff --git a/exp/2026/01/28/smas/src/20-forward-ext-force-neo-hookean.py b/exp/2026/01/28/smas/src/20-forward-ext-force-neo-hookean.py index 3e63a20d5..ac120a004 100644 --- a/exp/2026/01/28/smas/src/20-forward-ext-force-neo-hookean.py +++ b/exp/2026/01/28/smas/src/20-forward-ext-force-neo-hookean.py @@ -7,9 +7,6 @@ import pyvista as pv import warp as wp from environs import env -from liblaf.peach.optim import Optimizer - -from liblaf import cherries, melon from liblaf.apple.consts import ( ACTIVATION, DIRICHLET_MASK, @@ -19,9 +16,12 @@ MUSCLE_FRACTION, SMAS_FRACTION, ) -from liblaf.apple.jax import JaxPointForce from liblaf.apple.model import Forward, Model, ModelBuilder from liblaf.apple.optim import PNCG +from liblaf.peach.optim import Optimizer + +from liblaf import cherries, melon +from liblaf.apple.jax import JaxPointForce from liblaf.apple.warp import WarpNeoHookean, WarpNeoHookeanMuscle SUFFIX: str = "-smas46-muscle46" diff --git a/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-fat-only-top-dirichlet.py b/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-fat-only-top-dirichlet.py index a01de4c41..f5cde8bfb 100644 --- a/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-fat-only-top-dirichlet.py +++ b/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-fat-only-top-dirichlet.py @@ -7,9 +7,6 @@ import pyvista as pv import warp as wp from environs import env -from liblaf.peach.optim import Optimizer - -from liblaf import cherries, melon from liblaf.apple.consts import ( DIRICHLET_MASK, DIRICHLET_VALUE, @@ -17,9 +14,12 @@ LAMBDA, MU, ) -from liblaf.apple.jax import JaxPointForce, Region from liblaf.apple.model import Forward, Model, ModelBuilder from liblaf.apple.optim import PNCG +from liblaf.peach.optim import Optimizer + +from liblaf import cherries, melon +from liblaf.apple.jax import JaxPointForce, Region from liblaf.apple.warp import WarpStableNeoHookean SUFFIX: str = "-smas46-muscle46-coarse" diff --git a/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-ramped.py b/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-ramped.py index 6c0860819..8cfba9d69 100644 --- a/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-ramped.py +++ b/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-ramped.py @@ -7,8 +7,6 @@ import pyvista as pv import warp as wp from environs import env - -from liblaf import cherries, melon from liblaf.apple.consts import ( ACTIVATION, DIRICHLET_MASK, @@ -18,7 +16,6 @@ MUSCLE_FRACTION, SMAS_FRACTION, ) -from liblaf.apple.jax import JaxPointForce from liblaf.apple.model import ( Forward, ForwardStage, @@ -28,6 +25,9 @@ StageState, ) from liblaf.apple.optim import PNCG + +from liblaf import cherries, melon +from liblaf.apple.jax import JaxPointForce from liblaf.apple.warp import WarpStableNeoHookean, WarpStableNeoHookeanMuscle SUFFIX: str = "-smas46-muscle46-conform" diff --git a/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-smas-only.py b/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-smas-only.py index 91eb36f76..d93669011 100644 --- a/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-smas-only.py +++ b/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-smas-only.py @@ -7,9 +7,6 @@ import pyvista as pv import warp as wp from environs import env -from liblaf.peach.optim import Optimizer - -from liblaf import cherries, melon from liblaf.apple.consts import ( ACTIVATION, GLOBAL_POINT_ID, @@ -18,9 +15,12 @@ MUSCLE_FRACTION, SMAS_FRACTION, ) -from liblaf.apple.jax import JaxPointForce from liblaf.apple.model import Forward, Model, ModelBuilder from liblaf.apple.optim import PNCG +from liblaf.peach.optim import Optimizer + +from liblaf import cherries, melon +from liblaf.apple.jax import JaxPointForce from liblaf.apple.warp import WarpStableNeoHookean, WarpStableNeoHookeanMuscle SUFFIX: str = "-smas46-muscle46" diff --git a/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-uniform-ramped.py b/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-uniform-ramped.py index f068fe9c3..867764a37 100644 --- a/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-uniform-ramped.py +++ b/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-uniform-ramped.py @@ -7,8 +7,6 @@ import pyvista as pv import warp as wp from environs import env - -from liblaf import cherries, melon from liblaf.apple.consts import ( ACTIVATION, DIRICHLET_MASK, @@ -18,7 +16,6 @@ MUSCLE_FRACTION, SMAS_FRACTION, ) -from liblaf.apple.jax import JaxPointForce from liblaf.apple.model import ( AdaptiveContinuationPlan, Forward, @@ -28,6 +25,9 @@ StageState, ) from liblaf.apple.optim import PNCG + +from liblaf import cherries, melon +from liblaf.apple.jax import JaxPointForce from liblaf.apple.warp import WarpStableNeoHookean, WarpStableNeoHookeanMuscle SUFFIX: str = "-smas46-muscle46" diff --git a/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-uniform.py b/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-uniform.py index f5b5b9f0e..032ba30b9 100644 --- a/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-uniform.py +++ b/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean-uniform.py @@ -7,9 +7,6 @@ import pyvista as pv import warp as wp from environs import env -from liblaf.peach.optim import Optimizer - -from liblaf import cherries, melon from liblaf.apple.consts import ( ACTIVATION, DIRICHLET_MASK, @@ -19,9 +16,12 @@ MUSCLE_FRACTION, SMAS_FRACTION, ) -from liblaf.apple.jax import JaxPointForce from liblaf.apple.model import Forward, Model, ModelBuilder from liblaf.apple.optim import PNCG +from liblaf.peach.optim import Optimizer + +from liblaf import cherries, melon +from liblaf.apple.jax import JaxPointForce from liblaf.apple.warp import WarpStableNeoHookean, WarpStableNeoHookeanMuscle SUFFIX: str = "-smas46-muscle46" diff --git a/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean.py b/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean.py index 0002981d8..8cc94bba9 100644 --- a/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean.py +++ b/exp/2026/01/28/smas/src/20-forward-ext-force-stable-neo-hookean.py @@ -7,9 +7,6 @@ import pyvista as pv import warp as wp from environs import env -from liblaf.peach.optim import Optimizer - -from liblaf import cherries, melon from liblaf.apple.consts import ( ACTIVATION, DIRICHLET_MASK, @@ -19,9 +16,12 @@ MUSCLE_FRACTION, SMAS_FRACTION, ) -from liblaf.apple.jax import JaxPointForce, Region from liblaf.apple.model import Forward, Model, ModelBuilder from liblaf.apple.optim import PNCG +from liblaf.peach.optim import Optimizer + +from liblaf import cherries, melon +from liblaf.apple.jax import JaxPointForce, Region from liblaf.apple.warp import WarpStableNeoHookean, WarpStableNeoHookeanMuscle SUFFIX: str = "-smas46-muscle46" diff --git a/exp/2026/01/28/smas/src/20-forward-ext-force.py b/exp/2026/01/28/smas/src/20-forward-ext-force.py index ba49175a3..84fe065d3 100644 --- a/exp/2026/01/28/smas/src/20-forward-ext-force.py +++ b/exp/2026/01/28/smas/src/20-forward-ext-force.py @@ -4,9 +4,6 @@ import pyvista as pv import warp as wp from environs import env -from liblaf.peach.optim import Optimizer - -from liblaf import cherries, melon from liblaf.apple.consts import ( ACTIVATION, DIRICHLET_MASK, @@ -16,8 +13,11 @@ MUSCLE_FRACTION, SMAS_FRACTION, ) -from liblaf.apple.jax import JaxPointForce from liblaf.apple.model import Forward, Model, ModelBuilder +from liblaf.peach.optim import Optimizer + +from liblaf import cherries, melon +from liblaf.apple.jax import JaxPointForce from liblaf.apple.warp import ( WarpArap, WarpArapMuscle, diff --git a/exp/2026/01/28/smas/src/20-forward-phace.py b/exp/2026/01/28/smas/src/20-forward-phace.py index 35d13573d..5e77b183f 100644 --- a/exp/2026/01/28/smas/src/20-forward-phace.py +++ b/exp/2026/01/28/smas/src/20-forward-phace.py @@ -3,11 +3,11 @@ import numpy as np import pyvista as pv from environs import env +from liblaf.apple.consts import ACTIVATION, GLOBAL_POINT_ID, LAMBDA, MU +from liblaf.apple.model import Forward, Model, ModelBuilder from liblaf.peach.optim import Optimizer, ScipyOptimizer from liblaf import cherries, melon -from liblaf.apple.consts import ACTIVATION, GLOBAL_POINT_ID, LAMBDA, MU -from liblaf.apple.model import Forward, Model, ModelBuilder from liblaf.apple.warp import WarpPhaceV2 diff --git a/exp/2026/01/28/smas/src/20-forward-prestrain.py b/exp/2026/01/28/smas/src/20-forward-prestrain.py index 0c5a22d9e..39542c5aa 100644 --- a/exp/2026/01/28/smas/src/20-forward-prestrain.py +++ b/exp/2026/01/28/smas/src/20-forward-prestrain.py @@ -3,9 +3,6 @@ import numpy as np import pyvista as pv from environs import env -from liblaf.peach.optim import Optimizer - -from liblaf import cherries, melon from liblaf.apple.consts import ( ACTIVATION, GLOBAL_POINT_ID, @@ -15,6 +12,9 @@ SMAS_FRACTION, ) from liblaf.apple.model import Forward, Model, ModelBuilder +from liblaf.peach.optim import Optimizer + +from liblaf import cherries, melon from liblaf.apple.warp import ( WarpArap, WarpArapMuscle, diff --git a/exp/2026/01/28/smas/src/20-forward-subface-base.py b/exp/2026/01/28/smas/src/20-forward-subface-base.py index 694a763dc..f05b0f319 100644 --- a/exp/2026/01/28/smas/src/20-forward-subface-base.py +++ b/exp/2026/01/28/smas/src/20-forward-subface-base.py @@ -4,9 +4,6 @@ import pyvista as pv from environs import env from jaxtyping import Bool -from liblaf.peach.optim import ScipyOptimizer - -from liblaf import cherries, melon from liblaf.apple.consts import ( DIRICHLET_MASK, DIRICHLET_VALUE, @@ -14,8 +11,11 @@ MUSCLE_FRACTION, STIFFNESS, ) -from liblaf.apple.jax import JaxMassSpring from liblaf.apple.model import Forward, Model, ModelBuilder +from liblaf.peach.optim import ScipyOptimizer + +from liblaf import cherries, melon +from liblaf.apple.jax import JaxMassSpring class Config(cherries.BaseConfig): diff --git a/exp/2026/01/28/smas/src/20-forward-test.py b/exp/2026/01/28/smas/src/20-forward-test.py index d3b3291b4..2e21d3a11 100644 --- a/exp/2026/01/28/smas/src/20-forward-test.py +++ b/exp/2026/01/28/smas/src/20-forward-test.py @@ -3,9 +3,6 @@ import numpy as np import pyvista as pv from environs import env -from liblaf.peach.optim import Optimizer - -from liblaf import cherries, melon from liblaf.apple.consts import ( ACTIVATION, GLOBAL_POINT_ID, @@ -15,6 +12,9 @@ SMAS_FRACTION, ) from liblaf.apple.model import Forward, Model, ModelBuilder +from liblaf.peach.optim import Optimizer + +from liblaf import cherries, melon from liblaf.apple.warp import ( WarpArap, WarpArapMuscle, diff --git a/exp/2026/01/28/smas/src/20-forward-whole.py b/exp/2026/01/28/smas/src/20-forward-whole.py index ba75cd077..7be6f5f10 100644 --- a/exp/2026/01/28/smas/src/20-forward-whole.py +++ b/exp/2026/01/28/smas/src/20-forward-whole.py @@ -3,12 +3,12 @@ import numpy as np import pyvista as pv from environs import env +from liblaf.apple.consts import ACTIVATION, GLOBAL_POINT_ID, LAMBDA, MU +from liblaf.apple.model import Forward, Model from liblaf.peach.optim import Optimizer from liblaf import cherries, melon from liblaf.apple import scene -from liblaf.apple.consts import ACTIVATION, GLOBAL_POINT_ID, LAMBDA, MU -from liblaf.apple.model import Forward, Model SUFFIX: str = "-ellipsoid" diff --git a/exp/2026/01/28/smas/src/21-forward-bottom-dirichlet-stable-neo-hookean-hessian.py b/exp/2026/01/28/smas/src/21-forward-bottom-dirichlet-stable-neo-hookean-hessian.py index 6460d8226..95ee7c544 100644 --- a/exp/2026/01/28/smas/src/21-forward-bottom-dirichlet-stable-neo-hookean-hessian.py +++ b/exp/2026/01/28/smas/src/21-forward-bottom-dirichlet-stable-neo-hookean-hessian.py @@ -8,10 +8,6 @@ import scipy.sparse.linalg as spla import warp as wp from environs import env -from liblaf.peach.optim import Optimizer -from liblaf.peach.optim.pncg._pncg import _make_preconditioner - -from liblaf import cherries, melon from liblaf.apple.consts import ( ACTIVATION, DIRICHLET_MASK, @@ -24,6 +20,10 @@ ) from liblaf.apple.model import Forward, Full, Model, ModelBuilder from liblaf.apple.optim import PNCG +from liblaf.peach.optim import Optimizer +from liblaf.peach.optim.pncg._pncg import _make_preconditioner + +from liblaf import cherries, melon from liblaf.apple.warp import WarpStableNeoHookean, WarpStableNeoHookeanMuscle SUFFIX: str = "-smas46-muscle46" diff --git a/exp/2026/01/28/smas/src/21-forward-whole.py b/exp/2026/01/28/smas/src/21-forward-whole.py index 648d2de0a..f64f98f0c 100644 --- a/exp/2026/01/28/smas/src/21-forward-whole.py +++ b/exp/2026/01/28/smas/src/21-forward-whole.py @@ -2,9 +2,6 @@ import numpy as np import pyvista as pv -from liblaf.peach.optim import Optimizer, ScipyOptimizer - -from liblaf import cherries, melon from liblaf.apple.consts import ( ACTIVATION, DIRICHLET_MASK, @@ -14,6 +11,9 @@ MU, ) from liblaf.apple.model import Forward, Model, ModelBuilder +from liblaf.peach.optim import Optimizer, ScipyOptimizer + +from liblaf import cherries, melon from liblaf.apple.warp import WarpPhaceV2 diff --git a/exp/2026/01/28/smas/src/22-forward-bottom-dirichlet-stable-neo-hookean-hessian-generalized.py b/exp/2026/01/28/smas/src/22-forward-bottom-dirichlet-stable-neo-hookean-hessian-generalized.py index 7fbe7d439..45d4ab449 100644 --- a/exp/2026/01/28/smas/src/22-forward-bottom-dirichlet-stable-neo-hookean-hessian-generalized.py +++ b/exp/2026/01/28/smas/src/22-forward-bottom-dirichlet-stable-neo-hookean-hessian-generalized.py @@ -8,10 +8,6 @@ import scipy.sparse.linalg as spla import warp as wp from environs import env -from liblaf.peach.optim import Optimizer -from liblaf.peach.optim.pncg._pncg import _make_preconditioner - -from liblaf import cherries, melon from liblaf.apple.consts import ( ACTIVATION, DIRICHLET_MASK, @@ -23,6 +19,10 @@ SMAS_FRACTION, ) from liblaf.apple.model import Forward, Full, Model, ModelBuilder +from liblaf.peach.optim import Optimizer +from liblaf.peach.optim.pncg._pncg import _make_preconditioner + +from liblaf import cherries, melon from liblaf.apple.warp import WarpStableNeoHookean, WarpStableNeoHookeanMuscle SUFFIX: str = "-smas46-muscle46" diff --git a/exp/2026/01/28/smas/src/30-inverse-neo-hookean.py b/exp/2026/01/28/smas/src/30-inverse-neo-hookean.py index 0b9551ba1..cba363b11 100644 --- a/exp/2026/01/28/smas/src/30-inverse-neo-hookean.py +++ b/exp/2026/01/28/smas/src/30-inverse-neo-hookean.py @@ -11,9 +11,6 @@ import warp as wp from environs import env from jaxtyping import Array, Bool, Float, Integer -from liblaf.peach.optim import Objective, Optax, Optimizer - -from liblaf import cherries, jarp, melon from liblaf.apple.consts import ( ACTIVATION, GLOBAL_POINT_ID, @@ -25,6 +22,9 @@ from liblaf.apple.inverse import Inverse, Loss, PointToPointLoss from liblaf.apple.model import Forward, Free, Model, ModelBuilder, ModelMaterials from liblaf.apple.optim import PNCG +from liblaf.peach.optim import Objective, Optax, Optimizer + +from liblaf import cherries, jarp, melon from liblaf.apple.warp import WarpNeoHookean, WarpNeoHookeanMuscle type EnergyMaterials = Mapping[str, Array] diff --git a/exp/2026/01/28/smas/src/30-inverse-stable-neo-hookean.py b/exp/2026/01/28/smas/src/30-inverse-stable-neo-hookean.py index 4ddce01ba..c19809cd3 100644 --- a/exp/2026/01/28/smas/src/30-inverse-stable-neo-hookean.py +++ b/exp/2026/01/28/smas/src/30-inverse-stable-neo-hookean.py @@ -9,13 +9,13 @@ import warp as wp from environs import env from jaxtyping import Array, Bool, Float, Integer -from liblaf.peach.optim import Objective, Optax, Optimizer - -from liblaf import cherries, jarp, melon from liblaf.apple.consts import ACTIVATION, LAMBDA, MU, MUSCLE_FRACTION, SMAS_FRACTION from liblaf.apple.inverse import Inverse, Loss, PointToPointLoss from liblaf.apple.model import Forward, Model, ModelBuilder from liblaf.apple.optim import PNCG +from liblaf.peach.optim import Objective, Optax, Optimizer + +from liblaf import cherries, jarp, melon from liblaf.apple.warp import WarpStableNeoHookean, WarpStableNeoHookeanMuscle type EnergyMaterials = Mapping[str, Array] diff --git a/exp/2026/01/28/smas/src/30-inverse-test.py b/exp/2026/01/28/smas/src/30-inverse-test.py index 17eb4818d..0950f361b 100644 --- a/exp/2026/01/28/smas/src/30-inverse-test.py +++ b/exp/2026/01/28/smas/src/30-inverse-test.py @@ -8,9 +8,6 @@ import pyvista as pv import warp as wp from jaxtyping import Array, Bool, Float, Integer -from liblaf.peach.optim import Objective, Optax, Optimizer - -from liblaf import cherries, jarp, melon from liblaf.apple.consts import ( ACTIVATION, LAMBDA, @@ -20,6 +17,9 @@ ) from liblaf.apple.inverse import Inverse, Loss, PointToPointLoss, UniformActivationLoss from liblaf.apple.model import Forward, Model, ModelBuilder +from liblaf.peach.optim import Objective, Optax, Optimizer + +from liblaf import cherries, jarp, melon from liblaf.apple.warp import ( WarpArap, WarpArapMuscle, diff --git a/exp/2026/01/28/smas/src/30-inverse-unreachable-arap-hessian.py b/exp/2026/01/28/smas/src/30-inverse-unreachable-arap-hessian.py index 26bc528bc..4c47b582e 100644 --- a/exp/2026/01/28/smas/src/30-inverse-unreachable-arap-hessian.py +++ b/exp/2026/01/28/smas/src/30-inverse-unreachable-arap-hessian.py @@ -11,13 +11,13 @@ import warp as wp from environs import env from jaxtyping import Array, Bool, Float, Integer -from liblaf.peach.optim import Objective, Optax, Optimizer - -from liblaf import cherries, jarp, melon from liblaf.apple.consts import ACTIVATION, LAMBDA, MU, MUSCLE_FRACTION, SMAS_FRACTION from liblaf.apple.inverse import Inverse, Loss, PointToPointLoss from liblaf.apple.model import Forward, Full, Model, ModelBuilder, ModelMaterials from liblaf.apple.optim import PNCG +from liblaf.peach.optim import Objective, Optax, Optimizer + +from liblaf import cherries, jarp, melon from liblaf.apple.warp import ( WarpArap, WarpArapMuscle, diff --git a/exp/2026/01/28/smas/src/30-inverse-unreachable-stable-neo-hookean.py b/exp/2026/01/28/smas/src/30-inverse-unreachable-stable-neo-hookean.py index 9bce5b247..f2bb49a02 100644 --- a/exp/2026/01/28/smas/src/30-inverse-unreachable-stable-neo-hookean.py +++ b/exp/2026/01/28/smas/src/30-inverse-unreachable-stable-neo-hookean.py @@ -11,13 +11,13 @@ import warp as wp from environs import env from jaxtyping import Array, Bool, Float, Integer -from liblaf.peach.optim import Objective, Optax, Optimizer - -from liblaf import cherries, jarp, melon from liblaf.apple.consts import ACTIVATION, LAMBDA, MU, MUSCLE_FRACTION, SMAS_FRACTION from liblaf.apple.inverse import Inverse, Loss, PointToPointLoss from liblaf.apple.model import Forward, Full, Model, ModelBuilder, ModelMaterials from liblaf.apple.optim import PNCG +from liblaf.peach.optim import Objective, Optax, Optimizer + +from liblaf import cherries, jarp, melon from liblaf.apple.warp import WarpStableNeoHookean, WarpStableNeoHookeanMuscle type EnergyMaterials = Mapping[str, Array] diff --git a/exp/2026/01/28/smas/src/30-inverse-unreachable.py b/exp/2026/01/28/smas/src/30-inverse-unreachable.py index 21153bec7..1763eb067 100644 --- a/exp/2026/01/28/smas/src/30-inverse-unreachable.py +++ b/exp/2026/01/28/smas/src/30-inverse-unreachable.py @@ -8,12 +8,12 @@ import pyvista as pv import warp as wp from jaxtyping import Array, Bool, Float, Integer -from liblaf.peach.optim import Objective, Optax, Optimizer - -from liblaf import cherries, jarp, melon from liblaf.apple.consts import ACTIVATION, LAMBDA, MU, MUSCLE_FRACTION, SMAS_FRACTION from liblaf.apple.inverse import Inverse, Loss, PointToPointLoss from liblaf.apple.model import Forward, Model, ModelBuilder +from liblaf.peach.optim import Objective, Optax, Optimizer + +from liblaf import cherries, jarp, melon from liblaf.apple.warp import ( WarpArap, WarpArapMuscle, diff --git a/exp/2026/01/28/smas/src/30-inverse.py b/exp/2026/01/28/smas/src/30-inverse.py index bde17de1c..9f3590b30 100644 --- a/exp/2026/01/28/smas/src/30-inverse.py +++ b/exp/2026/01/28/smas/src/30-inverse.py @@ -8,12 +8,12 @@ import pyvista as pv import warp as wp from jaxtyping import Array, Bool, Float, Integer -from liblaf.peach.optim import Objective, Optax, Optimizer - -from liblaf import cherries, jarp, melon from liblaf.apple.consts import ACTIVATION, LAMBDA, MU, MUSCLE_FRACTION, SMAS_FRACTION from liblaf.apple.inverse import Inverse, Loss, PointToPointLoss from liblaf.apple.model import Forward, Model, ModelBuilder +from liblaf.peach.optim import Objective, Optax, Optimizer + +from liblaf import cherries, jarp, melon from liblaf.apple.warp import ( WarpArap, WarpArapMuscle, diff --git a/exp/2026/01/28/smas/src/31-inverse-activation-stable-neo-hookean.py b/exp/2026/01/28/smas/src/31-inverse-activation-stable-neo-hookean.py index 70e32dc84..6e3ba568b 100644 --- a/exp/2026/01/28/smas/src/31-inverse-activation-stable-neo-hookean.py +++ b/exp/2026/01/28/smas/src/31-inverse-activation-stable-neo-hookean.py @@ -16,12 +16,6 @@ import warp as wp from environs import env from jaxtyping import Array, Float, Integer -from liblaf.apple.inverse._inverse import InverseObjective -from liblaf.peach.linalg import LinearSolver -from liblaf.peach.linalg import utils as linalg_utils -from liblaf.peach.optim import Objective, Optax, Optimizer - -from liblaf import cherries, jarp, melon from liblaf.apple.consts import ( ACTIVATION, DIRICHLET_MASK, @@ -33,8 +27,14 @@ SMAS_FRACTION, ) from liblaf.apple.inverse import AdjointLinearSystem, Inverse, Loss, PointToPointLoss +from liblaf.apple.inverse._inverse import InverseObjective from liblaf.apple.model import Forward, Free, Model, ModelBuilder, ModelMaterials from liblaf.apple.optim import PNCG +from liblaf.peach.linalg import LinearSolver +from liblaf.peach.linalg import utils as linalg_utils +from liblaf.peach.optim import Objective, Optax, Optimizer + +from liblaf import cherries, jarp, melon from liblaf.apple.warp import WarpStableNeoHookean, WarpStableNeoHookeanMuscle type EnergyMaterials = Mapping[str, Array] diff --git a/exp/2026/03/11/test-inverse/src/20-forward.py b/exp/2026/03/11/test-inverse/src/20-forward.py index c9cc0862c..b3e614de2 100644 --- a/exp/2026/03/11/test-inverse/src/20-forward.py +++ b/exp/2026/03/11/test-inverse/src/20-forward.py @@ -2,11 +2,11 @@ import numpy as np import pyvista as pv +from liblaf.apple.consts import ACTIVATION, GLOBAL_POINT_ID, LAMBDA, MU +from liblaf.apple.model import Forward, Model, ModelBuilder from liblaf.peach.optim import Optimizer from liblaf import cherries, melon -from liblaf.apple.consts import ACTIVATION, GLOBAL_POINT_ID, LAMBDA, MU -from liblaf.apple.model import Forward, Model, ModelBuilder from liblaf.apple.warp import ( WarpArapMuscle, WarpVolumePreservationDeterminant, diff --git a/exp/2026/03/11/test-inverse/src/30-inverse.py b/exp/2026/03/11/test-inverse/src/30-inverse.py index a3d1c00a4..11fcfa954 100644 --- a/exp/2026/03/11/test-inverse/src/30-inverse.py +++ b/exp/2026/03/11/test-inverse/src/30-inverse.py @@ -8,12 +8,12 @@ import pyvista as pv import warp as wp from jaxtyping import Array, Bool, Float, Integer -from liblaf.peach.optim import Objective, Optax, Optimizer - -from liblaf import cherries, jarp, melon from liblaf.apple.consts import ACTIVATION, LAMBDA, MU from liblaf.apple.inverse import Inverse, Loss, PointToPointLoss, UniformActivationLoss from liblaf.apple.model import Forward, Model, ModelBuilder +from liblaf.peach.optim import Objective, Optax, Optimizer + +from liblaf import cherries, jarp, melon from liblaf.apple.warp import WarpArapMuscleOld, WarpVolumePreservationDeterminant type EnergyMaterials = Mapping[str, Array]