SideFX Houdini customization package
git clone https://git.lucas.co/hou-control.git
developer_metamax: Frame Range and Shift are read
The running minimum and maximum reset on the first frame of Frame
Range instead of frame 1, update only inside the range, and are left
alone outside it. The Shift toggle, now labelled Read End of Range,
un-bypasses the Time Shift that was already wired to the range's last
frame, so a copy of the node outside the solver shows the whole run's
extremes; the tracking wrangle skips its update on that path. Same
version: the defaults (frame 1 to 240, Shift off) behave as before.
Co-Authored-By: Claude Fable 5.1 <[email protected]>
developer.md | 2 +-
otls-audit.md | 2 ++
otls/sop_lsgalante.developer_metamax.1.0.hdalc | Bin 7380 -> 8039 bytes
3 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/developer.md b/developer.md
index 49afdf3..ec78537 100644
--- a/developer.md
+++ b/developer.md
@@ -85,7 +85,7 @@ Names are the tab-menu labels without the "Developer" prefix; the file in `otls/
- ID
- Lead 1.0 and 1.1: turns each vector toward the neighbouring vector that disagrees with it most, weighted by an influence attribute; 1.1 adds Radius in edge lengths and blends by Amount, which 1.0 ignored.
- Measure: the Measure SOP; a primitive measurement is promoted to a detail attribute under the chosen name.
-- Metamax
+- Metamax: running minimum and maximum of an attribute across a frame range, as detail attributes; can read the range's end frame from outside the solver.
- Migrate 1.2 (Scalar Migrate, Vector Migrate): pushes an attribute's values along a per-point direction vector, by proximity or connectivity; the sender loses what the target gains.
- Normalize (Scalar Normalize, Vector Normalize): rescales a float attribute so its values sum to a target, or makes a vector attribute unit length.
- Panel: one visualizer tab per attribute.
diff --git a/otls-audit.md b/otls-audit.md
index 51bfb74..878a50c 100644
--- a/otls-audit.md
+++ b/otls-audit.md
@@ -17,6 +17,8 @@ Audit of every HDA in `otls/`, run 2026-09-14 against Houdini 22.0.429 (Indie) w
> | `developer_vector_from_scalar` | `developer_gradient 1.0` | `95abc44` |
> | `developer_vector_rotate` | `developer_rotate 1.0` | `95abc44` |
>
+> `developer_metamax` resets at the first frame of Frame Range, tracks inside it, and Read End of Range (the Shift toggle) time-shifts the input to the range's last frame.
+>
> `developer_attribute_combine` multiplies each attribute by its Weight before the operation.
>
> `developer_analysis` gained a working Class Edge (edge-length statistics into `edges_info`) and Element folder (change, direction and previous value against the second input); the audit's Analysis rows are updated.
diff --git a/otls/sop_lsgalante.developer_metamax.1.0.hdalc b/otls/sop_lsgalante.developer_metamax.1.0.hdalc
index f86a290..43aa15b 100755
Binary files a/otls/sop_lsgalante.developer_metamax.1.0.hdalc and b/otls/sop_lsgalante.developer_metamax.1.0.hdalc differ