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.
Files changed (103) hide show
  1. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/CHANGELOG.md +14 -0
  2. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/PKG-INFO +2 -1
  3. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/trench_scene.obj +7 -7
  4. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/metrics.json +1 -1
  5. trenchfoot-0.4.6/packages/trenchfoot/scenarios/S02_straight_slope_pipe/trench_scene.obj +14407 -0
  6. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/metrics.json +2 -2
  7. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/trench_scene.obj +4762 -4762
  8. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/metrics.json +2 -2
  9. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/trench_scene.obj +4764 -4764
  10. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S05_wide_slope_pair/metrics.json +3 -3
  11. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S05_wide_slope_pair/trench_scene.obj +4762 -4762
  12. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/metrics.json +5 -5
  13. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/sdf_metadata.json +12 -12
  14. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/trench_scene.obj +22 -22
  15. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S07_circular_well/metrics.json +6 -6
  16. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S07_circular_well/sdf_metadata.json +64 -64
  17. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S07_circular_well/trench_scene.obj +126 -126
  18. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/SUMMARY.json +5 -5
  19. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/trench_scene_generator_v3.py +83 -55
  20. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/pyproject.toml +2 -1
  21. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/uv.lock +49 -1
  22. trenchfoot-0.4.4/packages/trenchfoot/scenarios/S02_straight_slope_pipe/trench_scene.obj +0 -14407
  23. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/.github/workflows/ci.yml +0 -0
  24. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/.gitignore +0 -0
  25. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/CLAUDE.md +0 -0
  26. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/LICENSE +0 -0
  27. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/Makefile +0 -0
  28. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/README.md +0 -0
  29. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/STATUS.md +0 -0
  30. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/docs/scenario_gallery.md +0 -0
  31. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/__init__.py +0 -0
  32. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/Dockerfile +0 -0
  33. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/README.md +0 -0
  34. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/__init__.py +0 -0
  35. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/generate_scenarios.py +0 -0
  36. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/gmsh_sloped_trench_mesher.py +0 -0
  37. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/plot_mesh.py +0 -0
  38. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/render_colors.py +0 -0
  39. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/ground_truth_isosurface.html +0 -0
  40. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/meshes/trench_scene_culled.obj +0 -0
  41. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/metrics.json +0 -0
  42. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/point_clouds/culled/resolution0p050.pth +0 -0
  43. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/point_clouds/full/resolution0p050.pth +0 -0
  44. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview.png +0 -0
  45. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview_oblique.png +0 -0
  46. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview_side.png +0 -0
  47. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview_top.png +0 -0
  48. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/scene.json +0 -0
  49. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/sdf_metadata.json +0 -0
  50. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S01_straight_vwalls/volumetric/trench_volume.msh +0 -0
  51. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/ground_truth_isosurface.html +0 -0
  52. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/meshes/trench_scene_culled.obj +0 -0
  53. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/point_clouds/culled/resolution0p050.pth +0 -0
  54. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/point_clouds/full/resolution0p050.pth +0 -0
  55. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview.png +0 -0
  56. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview_oblique.png +0 -0
  57. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview_side.png +0 -0
  58. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview_top.png +0 -0
  59. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/scene.json +0 -0
  60. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/sdf_metadata.json +0 -0
  61. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/volumetric/trench_volume.msh +0 -0
  62. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/ground_truth_isosurface.html +0 -0
  63. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/meshes/trench_scene_culled.obj +0 -0
  64. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/point_clouds/culled/resolution0p050.pth +0 -0
  65. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/point_clouds/full/resolution0p050.pth +0 -0
  66. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview.png +0 -0
  67. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_oblique.png +0 -0
  68. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_side.png +0 -0
  69. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_top.png +0 -0
  70. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/scene.json +0 -0
  71. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/sdf_metadata.json +0 -0
  72. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/volumetric/trench_volume.msh +0 -0
  73. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/ground_truth_isosurface.html +0 -0
  74. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/meshes/trench_scene_culled.obj +0 -0
  75. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview.png +0 -0
  76. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview_oblique.png +0 -0
  77. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview_side.png +0 -0
  78. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview_top.png +0 -0
  79. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/scene.json +0 -0
  80. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/sdf_metadata.json +0 -0
  81. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/volumetric/trench_volume.msh +0 -0
  82. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S05_wide_slope_pair/ground_truth_isosurface.html +0 -0
  83. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S05_wide_slope_pair/preview_oblique.png +0 -0
  84. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S05_wide_slope_pair/preview_side.png +0 -0
  85. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S05_wide_slope_pair/preview_top.png +0 -0
  86. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S05_wide_slope_pair/scene.json +0 -0
  87. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S05_wide_slope_pair/sdf_metadata.json +0 -0
  88. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S05_wide_slope_pair/volumetric/trench_volume.msh +0 -0
  89. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/ground_truth_isosurface.html +0 -0
  90. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/preview_oblique.png +0 -0
  91. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/preview_side.png +0 -0
  92. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/preview_top.png +0 -0
  93. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/scene.json +0 -0
  94. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/volumetric/trench_volume.msh +0 -0
  95. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S07_circular_well/ground_truth_isosurface.html +0 -0
  96. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S07_circular_well/preview_oblique.png +0 -0
  97. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S07_circular_well/preview_side.png +0 -0
  98. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S07_circular_well/preview_top.png +0 -0
  99. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S07_circular_well/scene.json +0 -0
  100. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scenarios/S07_circular_well/volumetric/trench_volume.msh +0 -0
  101. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/packages/trenchfoot/scene_spec_example.json +0 -0
  102. {trenchfoot-0.4.4 → trenchfoot-0.4.6}/tests/test_sdf_readiness.py +0 -0
  103. {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.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 22 25
43
- f 22 26 25
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 25 28
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": 6.59616709687007,
7
+ "pipe0_pipe_side": 5.652679624621337,
8
8
  "pipe0_pipe_cap_neg": 0.07063537956855452,
9
9
  "pipe0_pipe_cap_pos": 0.07063537956855452
10
10
  },