hey list, Jonathan.
 
You start with a struct:[struct foo float x float y canvas a b]
Then create a scalar from this struct.
The scalar will have an "x" value, a "y" value, and a canvas "a" which gets filled with the contents of an abstraction "b.pd" that is somewhere in Pd's search path.
Now here's the neat thing-- inside the newly instantiated "b.pd" you can do this:
[loadbang]|[field x]|[print x]
 
 
imagine you have a drawing instruction like this:[draw rect 0 0 20 20]
When you create the scalar you get a little black box on a canvas.
With a canvas field like I described, you can right-click the scalar and choose "Open" to show a canvas window.
 
while trying to create [struct foo float x float y canvas a b], i get: canvas: no such type, using pd 0.46.6
what am I missing?
 
~/.jc