trenchfoot 0.4.1__tar.gz → 0.4.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/CHANGELOG.md +26 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/PKG-INFO +1 -1
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/trench_scene_generator_v3.py +677 -37
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/pyproject.toml +1 -1
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/tests/test_trenchfoot_generation.py +387 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/uv.lock +1 -1
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/.github/workflows/ci.yml +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/.gitignore +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/CLAUDE.md +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/LICENSE +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/Makefile +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/README.md +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/STATUS.md +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/docs/scenario_gallery.md +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/__init__.py +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/Dockerfile +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/README.md +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/__init__.py +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/generate_scenarios.py +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/gmsh_sloped_trench_mesher.py +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/plot_mesh.py +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/render_colors.py +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S01_straight_vwalls/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S01_straight_vwalls/meshes/trench_scene_culled.obj +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S01_straight_vwalls/metrics.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S01_straight_vwalls/point_clouds/culled/resolution0p050.pth +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S01_straight_vwalls/point_clouds/full/resolution0p050.pth +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview_oblique.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview_side.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview_top.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S01_straight_vwalls/scene.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S01_straight_vwalls/sdf_metadata.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S01_straight_vwalls/trench_scene.obj +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S01_straight_vwalls/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/meshes/trench_scene_culled.obj +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/metrics.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/point_clouds/culled/resolution0p050.pth +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/point_clouds/full/resolution0p050.pth +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview_oblique.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview_side.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview_top.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/scene.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/sdf_metadata.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/trench_scene.obj +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/meshes/trench_scene_culled.obj +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/metrics.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/point_clouds/culled/resolution0p050.pth +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/point_clouds/full/resolution0p050.pth +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_oblique.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_side.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_top.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/scene.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/sdf_metadata.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/trench_scene.obj +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/meshes/trench_scene_culled.obj +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/metrics.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview_oblique.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview_side.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview_top.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/scene.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/sdf_metadata.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/trench_scene.obj +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S05_wide_slope_pair/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S05_wide_slope_pair/metrics.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S05_wide_slope_pair/preview_oblique.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S05_wide_slope_pair/preview_side.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S05_wide_slope_pair/preview_top.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S05_wide_slope_pair/scene.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S05_wide_slope_pair/sdf_metadata.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S05_wide_slope_pair/trench_scene.obj +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S05_wide_slope_pair/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/metrics.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/preview_oblique.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/preview_side.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/preview_top.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/scene.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/sdf_metadata.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/trench_scene.obj +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S07_circular_well/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S07_circular_well/metrics.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S07_circular_well/preview_oblique.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S07_circular_well/preview_side.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S07_circular_well/preview_top.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S07_circular_well/scene.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S07_circular_well/sdf_metadata.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S07_circular_well/trench_scene.obj +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/S07_circular_well/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scenarios/SUMMARY.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/packages/trenchfoot/scene_spec_example.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.2}/tests/test_sdf_readiness.py +0 -0
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.4.2] - 2026-01-29
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- **Embedded object truncation**: Pipes, boxes, and spheres that extend beyond trench boundaries are now automatically truncated or shrunk to fit within the trench void:
|
|
7
|
+
- **Pipes**: Truncated at walls/floor with angled elliptical caps matching the intersection plane
|
|
8
|
+
- **Boxes**: Dimensions shrunk to fit within available space
|
|
9
|
+
- **Spheres**: Radius reduced to fit within available space
|
|
10
|
+
- **New helper functions** for trench boundary computation:
|
|
11
|
+
- `_find_trench_frame_at_xy()`: Find local trench coordinate frame at any XY position
|
|
12
|
+
- `_compute_pipe_truncation()`: Binary search for where pipe exits trench
|
|
13
|
+
- `_compute_cap_plane_at_truncation()`: Determine wall/floor plane at intersection
|
|
14
|
+
- `_compute_box_fit()`: Calculate shrunk box dimensions
|
|
15
|
+
- `_compute_sphere_fit()`: Calculate shrunk sphere radius
|
|
16
|
+
- **Extended `make_cylinder()`**: Now supports asymmetric extents (`neg_extent`, `pos_extent`) and angled cap planes (`cap_plane_neg`, `cap_plane_pos`)
|
|
17
|
+
- **New tests** for truncation functionality:
|
|
18
|
+
- `test_pipe_truncation_at_wall`
|
|
19
|
+
- `test_pipe_truncation_at_floor`
|
|
20
|
+
- `test_pipe_angled_cap_geometry`
|
|
21
|
+
- `test_box_shrink_to_fit`
|
|
22
|
+
- `test_sphere_shrink_to_fit`
|
|
23
|
+
- `test_no_vertices_outside_trench`
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
- Long pipes in S07 circular well no longer protrude through trench walls
|
|
27
|
+
- Oversized embedded objects no longer extend outside trench geometry
|
|
28
|
+
|
|
3
29
|
## [0.4.1] - 2026-01-28
|
|
4
30
|
|
|
5
31
|
### Fixed
|