https://github.com/memo/msa_pathversioner
https://github.com/memo/msa_pathversioner
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/memo/msa_pathversioner
- Owner: memo
- Created: 2023-09-05T05:42:40.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-09-05T15:44:28.000Z (almost 3 years ago)
- Last Synced: 2025-06-20T00:47:57.106Z (about 1 year ago)
- Size: 2.19 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# msa_pathversioner
A tiny Houdini Digital Asset (HDA) to manage versioning with cache. It browses and lists as a dropdown, all subfolders of a specified cache root folder, and constructs a path to be used by other nodes (such as FileCache, Render etc).

## Goals
- Easily view any cache from any version of a HIP. E.g. view the cache generated from `MyProject.001.hip` when working in `MyProject.003.hip`.
- Given a cache (or its render), quickly retrieve the settings, configuration and network that led to it (i.e. open the HIP in its filename)
## Details
The HDA displays (as a dropdown menu) the available folders which contain a cache, allowing you to select which version of the cache to use.
The default path for caches are constructed as:
`//cache///..F4.bgeo.sc`
E.g.
`/OUT/MyProject/cache/particles/MyProject.001/particles.MyProject.001.9999.bgeo.sc`
- ``: user supplied root output directory (e.g. an `OUT` folder on a drive)
- ``: `$HIPNAME` without the version number (e.g. `MyProject`)
- ``: user supplied descriptive name (e.g. `particles` or `fluid` etc.)
- ``: user selected HIP filename to use (e.g. `Current HIP File`, `MyProject.001`, `MyProject.002` etc.)
The HDA itself doesn't do any caching or anything else. It is just a UI for constructing a path. The `final path` parameter can be copy-pasted as a reference into the path field of any other node (e.g. FileCache, Render etc).
More info and motivation at https://www.sidefx.com/forum/topic/91845/
## Example Directory Tree
```
# Houdini source folder
└── Houdini
├── MyProject.001.hiplc
├── MyProject.002.hiplc
└── MyProject.003.hiplc
# Elsewhere, Output folder
└── OUT
└── MyProject
└── cache
└── particles
├── MyProject.001
│ ├── particles.MyProject.001.0001.bgeo.sc
│ ├── particles.MyProject.001.0002.bgeo.sc
│ ├── particles.MyProject.001.0003.bgeo.sc
└── MyProject.002
├── particles.MyProject.002.0001.bgeo.sc
├── particles.MyProject.002.0002.bgeo.sc
├── particles.MyProject.002.0003.bgeo.sc
```