Property access instead of getters/setters

If you try to assign gsg.supports_xyz, a read-only property, you will get:

>>> base.win.gsg.supports_glsl = True
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: attribute 'supports_glsl' of 'panda3d.core.GraphicsStateGuardian' objects is not writable

One can argue that someone might be tempted to write set_supports_glsl(True) for the same reason why he would be tempted to assign it as a property.

You can’t do your “x += 1” trick in any Python class either, since floats are immutable. But if you did something like .transform.pos += (1, 0, 0), then you would get a similar error. But we could theoretically support this case in the future.

As for it being confusing for new users: perhaps we can add it, but not document it until we’re confident we can consistently recommend the new style, and then recommend the new style (properties + snake_case) across the board in a future release).