Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
a49e392
Remove local lockfile
w1th0utnam3 Aug 26, 2025
820871b
Py: Fix local build on macOS
w1th0utnam3 Aug 26, 2025
c6aeda6
Py: WIP: Combine f32 & f64 pipeline and mesh types
w1th0utnam3 Aug 26, 2025
af70b23
Py: Fix cast of usize for Numpy arrays on 32 bit architectures
w1th0utnam3 Aug 27, 2025
e8b0c64
Py: WIP: Further mesh refactoring
w1th0utnam3 Aug 27, 2025
8066d80
Py: Simplify code
w1th0utnam3 Aug 27, 2025
3ef6270
Automatically set global neighborhood lists in pipeline
w1th0utnam3 Aug 27, 2025
6001ffb
Py: Fixes in pipeline
w1th0utnam3 Aug 27, 2025
6c2118a
Make zero constructor of UniformGrid public for Python API
w1th0utnam3 Aug 27, 2025
2be1ebb
Py: Implement generic reconstruct surf., remove old pipeline functions
w1th0utnam3 Aug 27, 2025
51c7f7c
Py: Implement check_mesh_consistency, remove old code
w1th0utnam3 Aug 27, 2025
3eabe97
Py: Clean up
w1th0utnam3 Aug 27, 2025
a8c8ebc
Py: Refactor
w1th0utnam3 Aug 27, 2025
2faf6ed
Rename argument
w1th0utnam3 Aug 28, 2025
7758de7
Py: Re-Implement tris_to_quads
w1th0utnam3 Aug 28, 2025
0de099c
Py: Update decimation
w1th0utnam3 Aug 28, 2025
89d421a
Py: Reimplement smoothing functions
w1th0utnam3 Aug 28, 2025
62f0953
Use slices for normal smoothing
w1th0utnam3 Aug 28, 2025
0a5b130
Py: Refactor
w1th0utnam3 Aug 28, 2025
b73fb85
WIP: Signed Index type
w1th0utnam3 Aug 28, 2025
03d7ed1
Py: Use views for mesh vertices & triangles
w1th0utnam3 Aug 28, 2025
032804f
Implement normals
w1th0utnam3 Aug 28, 2025
93a4531
Py: Refactor MeshWithData wrapper
w1th0utnam3 Aug 29, 2025
0dec8be
Py: Get triangle and quad cells from mixed mesh
w1th0utnam3 Aug 29, 2025
3abedba
Py: Refactor, fix MeshWithData constructor
w1th0utnam3 Aug 29, 2025
eca2f3f
Py: WIP: Mesh attributes
w1th0utnam3 Aug 29, 2025
b0fa70b
Py: Getter for data of mesh attributes
w1th0utnam3 Aug 29, 2025
55d8286
Py: Add basic AABB, update neighborhood search
w1th0utnam3 Aug 29, 2025
c7af481
Py: Remove old code
w1th0utnam3 Aug 29, 2025
31b6dd5
Py: Access methods for neighborhood lists
w1th0utnam3 Aug 29, 2025
015c422
Add method to interpolator
w1th0utnam3 Aug 30, 2025
be47ebe
Py: Update SphInterpolator
w1th0utnam3 Aug 30, 2025
0c0b496
Make fields of SurfaceReconstruction public, refactor pipeline return
w1th0utnam3 Aug 30, 2025
b95ed05
Py: Refactoring
w1th0utnam3 Aug 30, 2025
e6c1482
Py: Fix re-shaping in interpolator
w1th0utnam3 Aug 30, 2025
fac6937
Py: Reimplement reconstruction wrapper without copies
w1th0utnam3 Aug 31, 2025
88c114d
Py: Update pyo3 crates, bump minimum Python version to 3.10
w1th0utnam3 Sep 1, 2025
8cf7fee
Py: Update AABB
w1th0utnam3 Sep 1, 2025
00cb593
Py: Update write_to_file and attribute getters (return dicts)
w1th0utnam3 Sep 1, 2025
1df6d65
Py: Add annotations import to stub file
w1th0utnam3 Sep 1, 2025
c6264ae
Py: Update doc strings
w1th0utnam3 Sep 1, 2025
8707d34
Py: Update sphinx templates and doc strings
w1th0utnam3 Sep 1, 2025
9e76d76
Py: Update documentation
w1th0utnam3 Sep 2, 2025
7d3af94
Py: Move mesh writing to rust code
w1th0utnam3 Sep 2, 2025
a51b5ae
Py: Add attributes to MeshWithData
w1th0utnam3 Sep 2, 2025
c3ee74f
Py: Mesh copy and Mesh to MeshWithData constructor
w1th0utnam3 Sep 2, 2025
ea9f7de
Py: Fix tests, fix bugs
w1th0utnam3 Sep 2, 2025
24be122
Py: Fix CI stub gen
w1th0utnam3 Sep 2, 2025
2ad2c73
Py: Fix splashsurf path in CI
w1th0utnam3 Sep 2, 2025
b577429
CI: Only publish on main
w1th0utnam3 Sep 2, 2025
f2a36b5
Py: Fix build.rs on CI
w1th0utnam3 Sep 2, 2025
02fc0de
Py: Documentation fixes
w1th0utnam3 Sep 2, 2025
6ad0b1f
Update changelog
w1th0utnam3 Sep 2, 2025
05e8a22
Py: Documentation fixes
w1th0utnam3 Sep 2, 2025
6105a26
Update changelog
w1th0utnam3 Sep 2, 2025
481691a
Py: Refactor
w1th0utnam3 Sep 2, 2025
86d79aa
Py: Refactor tests
w1th0utnam3 Sep 2, 2025
93b50e4
Py: Methods for UniformGrid, add tests for many functions
w1th0utnam3 Sep 2, 2025
13b4aea
Add missing test data
w1th0utnam3 Sep 2, 2025
dba1393
Py: Add plain marching cubes functionality
w1th0utnam3 Sep 2, 2025
cc75e5c
Support borrowed data for DensityMap
w1th0utnam3 Sep 2, 2025
fd747d6
Update comment
w1th0utnam3 Sep 2, 2025
fb7eedb
Update changelog
w1th0utnam3 Sep 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ jobs:
publish:
name: Publish to crates.io
runs-on: ubuntu-latest
if: ${{ startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch' }}
if: ${{ (startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch') && github.ref == 'refs/heads/main' }}
needs: [check_format, build_workspace, build_lib_all_features, build_lib_no_default_features]
steps:
- uses: actions/checkout@v4
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pysplashsurf_CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
- uses: actions/checkout@v3
- uses: moonrepo/setup-rust@v1
- run: |
cargo run --bin stub_gen
cargo run --bin stub_gen --no-default-features
working-directory: pysplashsurf
- name: Upload stub as artifact
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -316,7 +316,7 @@ jobs:
publish:
name: Publish to PyPI
runs-on: ubuntu-latest
if: ${{ startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch' }}
if: ${{ (startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch') && github.ref == 'refs/heads/main' }}
needs: [linux_wheels, macos_wheels, windows_wheels, sdist, tests, docs]
steps:
- uses: actions/download-artifact@v4
Expand Down Expand Up @@ -426,7 +426,7 @@ jobs:
path: dist/
- run: pip install dist/${{ needs.build_wheel_dev.outputs.filename }}
- name: Install splashsurf CLI
run: cargo install splashsurf
run: cargo install splashsurf --path ./splashsurf
- name: Run pytest
uses: pavelzw/pytest-action@v2
with:
Expand Down
13 changes: 12 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,18 @@

The following changes are present in the `main` branch of the repository and are not yet part of a release:

- N/A
- Py: Major refactor of the Python bindings, interface is simplified and more "pythonic"
- Merged distinct F64/F32 classes and functions and infer data type automatically
- Nearly all inputs and outputs are now zero-copy (e.g. mesh vertices and faces can be accessed as attributes without copies)
- Py: Add a function for a plain marching cubes reconstruction without any SPH interpolation
- Lib: Add support for "dense" density maps (borrowed & owned) as input for the marching cubes triangulation, useful for the Python bindings
- Lib: Enforce that `Index` types are signed integers implementing the `num_traits::Signed` trait. Currently, the reconstruction does not work (correctly) with unsigned integers.
- Lib: Make most fields of `SurfaceReconstruction` public
- CLI: Add some tests for the `reconstruction_pipeline` function
- CLI: Fix post-processing when particle AABB filtering is enabled
- Lib: Support subdomain "ghost particle" margins to be up to the size of the subdomain itself (previously limited to half the size)
- CLI/Lib: Option to automatically disable subdomain decomposition for very small grids
- Lib: Support for non-owned data in `MeshAttribute`, avoids copies in CLI and Python package

## Version 0.12.0

Expand Down
96 changes: 50 additions & 46 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading