I have always been tangled in this triange:
A) build complete, versatile, high level tools with proper UI
B) have big library of low level snippets, with the default UI
C) fast search, easy updates, lightweight solution
I hope I figured it out now. I made an undoable OnCreated HDA script, which extracts contents of the HDA (and deletes the created HDA). This way, I can use all the power of HDAs (fuzzy Tab search, fast Shift Enter placement, easy updates, manage big library easily at the same time) and also avoid some of the HDA cons, relevant in certain situations.
I look forward to what my library will look like in a year.
Here is the script:
# ------------------------- # contents of the wf_hda.py import hou import hdefereval def extract(node) : def extract_hda(hda_node) : label = "Extract HDA: " + str(hda_node.type().name()) with hou.undos.group(label): hda_node.extractAndDelete() hdefereval.executeDeferred(lambda: extract_hda(node) ) # ------------------------- # OnCreated scipt in the Type Properties: # import wf_hda # wf_hda.extract( kwargs["node"] )