Rust FFI particle-chemistry simulation core (chemistry_core) plus a
standalone Unity package (com.midmanstudio.alembic) built on top of it.
Spatial-hashed Lennard-Jones dynamics, velocity Verlet integration, and
pairwise bonding, driven by real per-element physics data hand-synced from
DixScript-Rust's elements_database.mdix — not a lookup-table magic
system. Built for Grand Theft Grimoire,
but the package itself doesn't know that; it simulates atoms, nothing
game-specific.
chemistry_core (the Rust simulation core) is the mature half: spatial
hash, LJ forces, velocity Verlet, and pairwise bonding (unbounded per
atom now — real multi-atom molecules, not just diatomic pairs) are all in
and tested, currently covering 20 elements. The Unity side
(packages/com.midmanstudio.alembic) is still scaffold — Runtime/Core
and Runtime/Adapters are placeholders pending C# FFI bindings against the
surface documented in docs/getting-started.md.
# Linux / macOS
./scripts/build_rust.sh
# Windows (PowerShell)
.\scripts\build_rust.ps1This compiles chemistry_core and copies the platform DLL to Assets/Plugins/.
- Unity 2022.3 LTS or later
- Rust, stable toolchain, 1.83 or newer (vendored
mid-mathneeds a stable-constf32::from_bits— seedocs/getting-started.mdfor why the older "1.80+" note was wrong) - Unity packages:
com.unity.burst,com.unity.mathematics,com.unity.collections
See docs/architecture.md.
MIT