3D Work
Houdini, and the tooling that makes it reproducible.
houdini integration
Scripting Houdini from outside is a blind loop: write code, run it, read a traceback, guess what the scene looks like, try again. These tools close that loop by putting the caller inside the running session, so a node can be built and its cook errors read back in the same breath.
Session stills to come.
tools built
- Live session bridge - a dependency-free server speaking a tool protocol on one side and a listener inside Houdini on the other. Every call is marshalled onto the main thread, because the API will not tolerate being touched from a socket thread. Behaves identically interactive or headless.
- API introspection helper - asks a real Houdini what a call is actually named before any code is written against it. The object model is one of the most confidently mis-remembered APIs there is.
- Shading-language correctness sheet - real signatures and the recurring invented ones, meant to be read before writing a wrangle rather than after debugging one.
- Scene cataloguer - one bounded process per file producing a framed thumbnail and a structured summary.
- Mesh splitter - turns a single merged export into individually addressable named parts using its vertex colours, so a model authored as one object can be animated piece by piece on the web.
- Conversation panel - a docked panel inside the application talking to a watcher process over two append-only files, one per direction. No sockets and no shared state, so either side can be restarted without the other noticing.
- Packaged pen mechanism - a hand-built twist mechanism promoted into an installable, versioned asset: 21 authored parameters over four tabs, its moving-part interlock carried inside the asset rather than left loose in the scene, and a headless check that resolves it through its package alone and cooks it at defaults before it ships.
future scope
- Parameter wedging across a printable asset, with a validator that fails on wall thickness and self-intersection rather than a human eyeballing variants.
- Turntables instead of stills: the cataloguer already sweeps a frame range, so a looping capture per scene is a small step from where it is.
- Automatic terminal-node detection, so a scene whose display flag was left mid-chain still captures the result the author intended.
- Publishing assets straight from the session to a versioned depot.
cataloguing
This is a collection of Houdini setup projects from over the years.
Loading catalogue…
version control
Art and code get different systems. Source lives in a distributed VCS where branching and merging are the point; binary art lives in a centralised depot, because the things that make that unfashionable for code are exactly what large binaries need. The work is in the type map: formats that cannot be merged are marked for exclusive checkout so two people cannot both edit one and silently lose a day, formats that are already compressed are stored uncompressed rather than paying to compress them twice, and plain text stays diffable. An ignore list keeps autosaves and caches out entirely, and metadata is checkpointed on its own schedule because it fails differently from the file archives.
Asset stills to come.
← back