Thanks for the suggestion. It forced me to boil the problem down.
As shown
here, the embedded compiler half-believes that objects instantiated outside of the embedded compiler are "undefined".
(That is if b=box(), b prints as undefined, but
b.pos is nonetheless shown to be <0,0,0>)
FYI, __dict__ and dir() show the attributes and methods of the object
If the "
Undefined Problem" gets solved, you might use __dict__ and __dir__ to craft a __repr__ method, which might could allow (e.g,)
print(b) to display b's user-defined attributes and values. (as when one prints a dict, for example, in python).