__delitem__ method for dependable dictionaries is broken in latest official version. May affect storage and dependable properties. (24520) [DOWNLOAD PATCH HERE]

Hello there,

The pop() method for deeply dependable dictionaries is broken in latest TouchDesigner version. This was working just fine in the prior version. Normal dictionaries work as expected. Find attached an example to replicate. Truly Murphy’s Law for my project :stuck_out_tongue: I’m very close to public release and suddenly things got broken because of this one. Hope you can fix it soon!

Build: 2020_24520, Windows 10

Thanks,
Darien

DictionariesPopTest.tox (1.7 KB)

Oh no. I’ll look at this soon. Will come up with a workaround until next release if that helps you.

1 Like

Amazing! Thank you Ivan :smiley:

If you unzip these files into the folder with your .toe, the problem will be fixed. This bug will be gone in the next release. TDModules.zip (19.2 KB)

1 Like

Interesting. Just wondering. Is that Json config accessible from within Touch? Similar to project.paths?

Interesting indeed. Thank you @Ivan ! Will give it a shot.

Not sure what you mean by accessible. It is easy enough to read in. Changing it will have no effect except at load time. The .json just specifies some system overwrites during initialization.

Sorry for hijacking your thread Darien.

Well, I’m always looking into ways to define/inject stuff at load time. For example, I add all my components (which are designed as folders per tox file incl all assets ) to:
project.paths[„tox.someComp“] = path/to/tox/folder

and then I load the tox via
tox.someComp://net.tox

and TD will automatically use
tox.someComp://icon.png
If I load files into movieFileIn TOPs

This way all assets of a tox are loaded via relative paths. I also have a script that updates the disc location of all managed ext tox folders in the MyProject.Settings.json and then starts TD

Works nicely , but has a few workflow issues ( e.g. project.paths entries need to be added from within td first)

So when I see another way to inject data into TD before tox files are loaded I get curious if I could help in any way for this or similar systems

Here’s the lowdown on tdDevelopment.json…

It is a barebones tool that we use to work on system toxes so that we don’t have to mess with saving/reloading/updating the entire /sys every time we make a minor change. It is meant for inhouse use and is not documented or terribly robust. I used it here because it’s the easiest way to fix this isolated issue until there’s a new build.

Experiment away, just be aware it’s not a high priority or even really a public feature so it won’t get a lot of support. I am happy to answer whatever questions I can.