Re visualizing complex structures in a way that can be directly manipulated is a hard problem indeed! I think a divide-and-conquer approach could be applied in its design. There are several subproblems that might be solved separately.
The first one is that different representations of the same data are often good in some contexts but bad in others. Some of them need plenty of space, while others can work as tiny icons. For a sequence of pairs of numbers sometimes scatter plot is good, but sometimes the right visualization is a a stereo waveform. I think this can be solved using a well known "inspector" pattern - a view that can offer more detailed view (maybe one of many alternative visualizations) of a selected/connected item. Visual indicators such as proximity/lines/color/textures/icons/animation (ideally - all of them at the same time) can help make the connection between compact representation and the "inspector" more evident. Inspectors could be resizable and offer more tools as more space becomes available - creating a smooth spectrum between an icon and an immersive fullscreen editor. There could be many other ways to work around the "limited space problem" but I believe it is the first one that has to be tackled. When considered in isolation, I think it's much easier to think about it!
The second problem is that some objects have complex internal structure. It needs to be exposed in a way that avoids visual clutter but stays discoverable to the user. Knowing that some properties can be accessed by special keywords is not particularly discoverable - that should probably be improved. Exposing internal structure is very important because this is what allows things on screen to be inspected recursively. It's so important that in mainstream programming it's done with a dot operator - and there are dedicated tools that aid with the discoverability of available methods (intellisense, language servers). I guess context menu is the most established design pattern that could help here. It's far from perfect (you have to right click to know that a menu is available) but when combined with some hover indicators or cursor changes that could work very well. Unfortunately, touchscreens don't really have a well established hover feedback - so on touchscreens context menus suck 😞 My favourite approach is entirely different though - it's to design the UI in such a way that different regions of the UI can represent different components of a complex object. A region of a large complex object can offer access into one of its fields. Visual design is very work intensive and has to be scrapped as things evolve so I'm not sure if it's worth recommending. It definietly looks cool!
The third issue is the interoperability of different data types and different visualizers. How to tell the system that string data is actually a comma-separated sequence of "X,Y,image URL" which can be displayed on a 2D canvas as a bunch of images? Can this be done in a way that's going to allow bidirectional editing? The only UI pattern I know in that space is a sort of a box with inputs and outputs that the user fills with their own solution. Very common in node & wire interfaces (Blender, Unreal Engine Blueprints). This could probably work with propagator networks as well.