trenchfoot 0.4.4__tar.gz → 0.4.6__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.4 → trenchfoot-0.4.6}/CHANGELOG.md +14 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/PKG-INFO +2 -1
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/trench_scene.obj +7 -7
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/metrics.json +1 -1
- trenchfoot-0.4.6/packages/trenchfoot/scenarios/S02_straight_slope_pipe/trench_scene.obj +14407 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/metrics.json +2 -2
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/trench_scene.obj +4762 -4762
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/metrics.json +2 -2
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/trench_scene.obj +4764 -4764
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S05_wide_slope_pair/metrics.json +3 -3
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S05_wide_slope_pair/trench_scene.obj +4762 -4762
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/metrics.json +5 -5
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/sdf_metadata.json +12 -12
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/trench_scene.obj +22 -22
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S07_circular_well/metrics.json +6 -6
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S07_circular_well/sdf_metadata.json +64 -64
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S07_circular_well/trench_scene.obj +126 -126
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/SUMMARY.json +5 -5
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/trench_scene_generator_v3.py +83 -55
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/pyproject.toml +2 -1
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/uv.lock +49 -1
- trenchfoot-0.4.4/packages/trenchfoot/scenarios/S02_straight_slope_pipe/trench_scene.obj +0 -14407
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/.github/workflows/ci.yml +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/.gitignore +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/CLAUDE.md +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/LICENSE +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/Makefile +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/README.md +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/STATUS.md +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/docs/scenario_gallery.md +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/__init__.py +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/Dockerfile +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/README.md +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/__init__.py +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/generate_scenarios.py +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/gmsh_sloped_trench_mesher.py +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/plot_mesh.py +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/render_colors.py +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/meshes/trench_scene_culled.obj +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/metrics.json +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/point_clouds/culled/resolution0p050.pth +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/point_clouds/full/resolution0p050.pth +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview_oblique.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview_side.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview_top.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/scene.json +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/sdf_metadata.json +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/meshes/trench_scene_culled.obj +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/point_clouds/culled/resolution0p050.pth +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/point_clouds/full/resolution0p050.pth +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview_oblique.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview_side.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview_top.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/scene.json +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/sdf_metadata.json +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/meshes/trench_scene_culled.obj +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/point_clouds/culled/resolution0p050.pth +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/point_clouds/full/resolution0p050.pth +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_oblique.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_side.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_top.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/scene.json +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/sdf_metadata.json +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/meshes/trench_scene_culled.obj +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview_oblique.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview_side.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview_top.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/scene.json +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/sdf_metadata.json +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S05_wide_slope_pair/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S05_wide_slope_pair/preview_oblique.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S05_wide_slope_pair/preview_side.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S05_wide_slope_pair/preview_top.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S05_wide_slope_pair/scene.json +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S05_wide_slope_pair/sdf_metadata.json +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S05_wide_slope_pair/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/preview_oblique.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/preview_side.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/preview_top.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/scene.json +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S07_circular_well/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S07_circular_well/preview_oblique.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S07_circular_well/preview_side.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S07_circular_well/preview_top.png +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S07_circular_well/scene.json +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S07_circular_well/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scene_spec_example.json +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/tests/test_sdf_readiness.py +0 -0
- {trenchfoot-0.4.4 → trenchfoot-0.4.6}/tests/test_trenchfoot_generation.py +0 -0
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.4.6] - 2026-02-03
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
- **Ground plane triangulation for L/U-shaped trenches**: The ground surface around non-convex trench openings (L-shapes, U-shapes) was incorrectly triangulated, creating diagonal edges that crossed over the trench void. Replaced the simple "marching" triangulation algorithm with the earcut algorithm (via `mapbox-earcut`) which correctly handles polygons with non-convex holes.
|
|
7
|
+
|
|
8
|
+
### Changed
|
|
9
|
+
- Added `mapbox-earcut>=1.0` as a new dependency for robust polygon triangulation
|
|
10
|
+
|
|
11
|
+
## [0.4.5] - 2026-02-03
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
- **Pipe truncation at trench end walls**: For open (non-closed) trench paths, pipes were not being truncated at the vertical end walls, causing them to protrude beyond the trench boundaries. This created ill-conditioned SDF geometry downstream. Added `_is_beyond_trench_ends()` helper that detects when a point projects beyond the start or end vertices of an open path. Closed paths (like circular wells) are unaffected since they have no "ends" to truncate at.
|
|
15
|
+
- Regenerated bundled scenario meshes (S02-S05) with the end wall truncation fix
|
|
16
|
+
|
|
3
17
|
## [0.4.3] - 2026-01-30
|
|
4
18
|
|
|
5
19
|
### Fixed
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: trenchfoot
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.6
|
|
4
4
|
Summary: Synthetic trench scenario generator bundle (surfaces + volumetrics).
|
|
5
5
|
Author: Liam Moore
|
|
6
6
|
License-File: LICENSE
|
|
7
7
|
Requires-Python: >=3.12
|
|
8
|
+
Requires-Dist: mapbox-earcut>=1.0
|
|
8
9
|
Requires-Dist: numpy>=1.26
|
|
9
10
|
Provides-Extra: dev
|
|
10
11
|
Requires-Dist: pytest>=8.3; extra == 'dev'
|
|
@@ -39,11 +39,11 @@ v 0 -0.5 0
|
|
|
39
39
|
v 5 -0.5 0
|
|
40
40
|
v 5 0.5 0
|
|
41
41
|
v 0 0.5 0
|
|
42
|
-
f 21
|
|
43
|
-
f
|
|
44
|
-
f 22 23 26
|
|
45
|
-
f 23 27 26
|
|
46
|
-
f 23 24 27
|
|
47
|
-
f 24 28 27
|
|
42
|
+
f 21 25 28
|
|
43
|
+
f 26 25 21
|
|
48
44
|
f 24 21 28
|
|
49
|
-
f 21
|
|
45
|
+
f 26 21 22
|
|
46
|
+
f 23 24 28
|
|
47
|
+
f 27 26 22
|
|
48
|
+
f 23 28 27
|
|
49
|
+
f 27 22 23
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"trench_cap_for_volume": 7.199999999999999,
|
|
5
5
|
"trench_walls": 12.849882149360417,
|
|
6
6
|
"ground_surface": 18.4,
|
|
7
|
-
"pipe0_pipe_side":
|
|
7
|
+
"pipe0_pipe_side": 5.652679624621337,
|
|
8
8
|
"pipe0_pipe_cap_neg": 0.07063537956855452,
|
|
9
9
|
"pipe0_pipe_cap_pos": 0.07063537956855452
|
|
10
10
|
},
|