SideFX Houdini customization package
git clone https://git.lucas.co/hou-control.git
otls: rebuild the old im_cull as im_cull_pieces and wire it back in
The l_s_galante::im_cull node selected connected pieces by size; today's
im_cull is an attribute threshold filter, so the five children that still
used the old type were empty dummies. im_cull_pieces reimplements it with
the same parameter names: pieces by connectivity or an attribute, measured
by element count, area, length or a summed attribute, selecting the
largest or smallest N or every piece with a naked edge, and keeping,
removing or marking the selection in a group. Built from a connectivity
SOP, two measure SOPs and a detail wrangle; checked on merged spheres,
an open grid, polylines and attribute pieces.
gem_flange_merge, gem_halo_merge and gem_mold_flange now use it in place
of the dummies, with their class, count and measurement settings carried
over.
Co-Authored-By: Claude Fable 5.1 <[email protected]>
otls-audit.md | 2 +-
otls/sop_lsgalante.gem_flange_merge.1.0.hdalc | Bin 22225 -> 16102 bytes
otls/sop_lsgalante.gem_halo_merge.1.0.hdalc | Bin 15371 -> 15379 bytes
otls/sop_lsgalante.gem_mold_flange.1.0.hdalc | Bin 32333 -> 32388 bytes
otls/sop_lsgalante.im_cull_pieces.1.0.hdalc | Bin 0 -> 11088 bytes
5 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/otls-audit.md b/otls-audit.md
index 6ad8915..ed92d86 100644
--- a/otls-audit.md
+++ b/otls-audit.md
@@ -2,7 +2,7 @@
Audit of every HDA in `otls/`, run 2026-09-14 against Houdini 22.0.429 (Indie) with `hython`. Every library was loaded, every definition was instantiated with its contents unlocked, and every SOP was cooked once with a 10x10 polygon grid on each required input. The audit script and raw JSON are not in the repo; the method and its limits are at the end.
-> **Status after the audit.** The 20 hollow files were deleted (`d3d8cb3`). The dummy children in section 2 were replaced with their current types in 29 assets (`aef363e`, `28dfa29`); what remains are the SideFX Labs nodes, the five `l_s_galante::im_cull` uses, and the `lucas::dev::` children in `im_bevel` and `im_relax`. Sections 3 to 7 are untouched.
+> **Status after the audit.** The 20 hollow files were deleted (`d3d8cb3`). The dummy children in section 2 were replaced with their current types in 29 assets (`aef363e`, `28dfa29`); the five `l_s_galante::im_cull` uses now point at a rebuilt `im_cull_pieces` asset; what remains are the SideFX Labs nodes and the `lucas::dev::` children in `im_bevel` and `im_relax`. The four VEX compile failures in section 3 are fixed. Sections 4 to 7 are untouched.
| | count |
|---|---|
diff --git a/otls/sop_lsgalante.gem_flange_merge.1.0.hdalc b/otls/sop_lsgalante.gem_flange_merge.1.0.hdalc
index 0dd5d0a..b02e0fc 100644
Binary files a/otls/sop_lsgalante.gem_flange_merge.1.0.hdalc and b/otls/sop_lsgalante.gem_flange_merge.1.0.hdalc differ
diff --git a/otls/sop_lsgalante.gem_halo_merge.1.0.hdalc b/otls/sop_lsgalante.gem_halo_merge.1.0.hdalc
index b145b8f..81d79ce 100644
Binary files a/otls/sop_lsgalante.gem_halo_merge.1.0.hdalc and b/otls/sop_lsgalante.gem_halo_merge.1.0.hdalc differ
diff --git a/otls/sop_lsgalante.gem_mold_flange.1.0.hdalc b/otls/sop_lsgalante.gem_mold_flange.1.0.hdalc
index 07a5472..2943cc6 100644
Binary files a/otls/sop_lsgalante.gem_mold_flange.1.0.hdalc and b/otls/sop_lsgalante.gem_mold_flange.1.0.hdalc differ
diff --git a/otls/sop_lsgalante.im_cull_pieces.1.0.hdalc b/otls/sop_lsgalante.im_cull_pieces.1.0.hdalc
new file mode 100644
index 0000000..870584c
Binary files /dev/null and b/otls/sop_lsgalante.im_cull_pieces.1.0.hdalc differ