Latest / tag
pipeline
2026
HoudiniStage in, stage out: Houdini's Solaris treats every node as a function over a USD sceneIn Houdini's Solaris, every LOP node takes a composed USD stage and returns one, and its edits land in one in-memory layer at the top. A 31-line usd-core model of that contract, the Python LOP that does it for real, the same network checked in Houdini 22, and why a Layer Break decides what gets saved.
Houdinisplit() is a tokenizer: building cache paths from strings in Houdini VEXVEX strings look like Python's, but split() merges separators and drops empty fields, len() counts bytes, and a wrangle expands $ before the compiler sees it. A per-piece cache path built from the scene file name, and the traps along the way, checked in Houdini 22.
LatestMaterialX is an IR for materials: build a typed shader graph in Python, then lower it to GLSL and OSLA MaterialX material is a typed dataflow graph stored as XML, which a library type-checks and compiles to several shading languages. With only pip install MaterialX, build a checkerboard material in Python, watch the validator reject a float wired into a color, and generate GLSL and OSL from the same file.
HoudiniHoudini digital assets are versioned packages: namespaces, pinned instances, and why 2.10 beats 2.9A Houdini digital asset turns a node network into a reusable node type whose name carries a namespace and a version, much like a package. How Houdini 22 resolves those names, why saved scenes stay pinned to old versions, and a 29-line Python model of the rules.
HoudiniMake for 3D: Houdini's TOPs are a build system whose targets are work itemsHoudini's TOP networks (PDG) generate work items, cook them, skip the ones whose output files already exist, and gather results with partitions. We build the same idea in 28 lines of plain Python, then run it as a Python Processor TOP in Houdini 22 and see where the analogy holds.
LatestColor is a compiler problem: OpenColorIO from Python, no DCC requiredOpenColorIO turns two color-space names into an optimized processor you can run over a NumPy buffer or emit as GPU shader code. With only pip install opencolorio numpy, convert a texture into ACEScg, put an HDR ramp on an sRGB screen, and look at what the library compiled.
UnrealLinting game assets: a 40-line Python script that audits normal maps in an Unreal projectUnreal's editor exposes every asset's typed settings to Python. A short linter finds normal maps stored with colour settings, fixes them through the editor's own property path, and fails a headless build when it finds one. Run in Unreal Engine 5.8.2.
LatestWeek in TD, Oct 5–11, 2026: node graphs want to be diffable. Blender's nodes-as-code plan, and what Houdini already hasIn the week of Oct 5–11, 2026, Blender's developers named nodebpy their most promising route to readable, diffable node groups and planned list fields. We compare both with what Houdini already ships (text .hip files, asCode() and array attributes), with every snippet run in Blender and Houdini 22.
BlenderWeek in TD, Sept 28–Oct 4, 2026: Blender is porting to Android, and its color spaces are getting real IDsIn the week of Sept 28–Oct 4, 2026, coverage of Blender's Android port landed and OpenColorIO 2.6 shipped the lookup half of color interop IDs, which Blender 5.3 exposes to Python. What the port means for code, and interop IDs tested in OCIO 2.6 and a Blender 5.3 build.
LatestWeek in TD, Sept 21–27, 2026: Gaussian splats are a struct of arrays, and Blender 5.3 agreesNative 3D Gaussian splats landed in Blender 5.3 in the week of Sept 21–27, 2026, joining OpenUSD 26.03 and Houdini 22. What a splat file actually stores, and a short NumPy decoder checked against Blender's and Houdini's own importers.
LatestUSD layers are git for scene data: resolving “strongest opinion wins” in 25 lines of PythonOpenUSD stacks layers of partial edits and resolves them when you read the scene. With only pip install usd-core, build a two-layer scene, override one value, and ask USD which file each value came from.
BlenderBatch-process a folder of .blend files from the command line with bpyA 59-line headless bpy script that audits, fixes and re-saves every .blend file in a folder, with a proper exit code for your farm or CI.
RhinoRhino 8 SR35, Rhino 9 BETA and Grasshopper 2: what changed this summerRhino 8 SR35, the Rhino 9 BETA builds, Grasshopper 2 in beta, rhino3dm 8.32 and Rhino.Compute on Linux, read from McNeel's own posts.
LatestOpenUSD 26.08, AOUSD's ISO push and VFX Platform CY2027OpenUSD 26.08 ships LOD and Profiles schemas, AOUSD starts ISO work, CY2027 is final, and Unreal and Blender take new USD steps.
BlenderBlender 5.2 LTS for TDs, and what 5.3 is bringing to the pipelineWhat changed for scripts and pipelines in Blender 5.2 LTS, what is landing in 5.3 before beta, and recent Blender Foundation news.
RhinoBuild and tag Rhino geometry from a CSV with Python 3 and RhinoCommonA 55-line Rhino 8 Python 3 script that reads a CSV, builds layered, named objects with user text, and can be run again safely.
UnrealUnreal Engine 5.8.3, what 5.8 changes for TDs, and the road to UE6What UE 5.8 and its hotfixes change for TDs: PCG, Python, USD, Movie Render Graph, the MCP plugin, Sandboxes, and the UE6 timeline.
UnrealPython editor scripting in Unreal Engine 5.8, for Houdini and Maya TDsEnable the Python plugin, find where scripts run, and start with three short snippets for selected actors and Content Browser assets.