Merge branch 'remove-animation-export': drop mcrfpy.Animation from public exports

Pre-1.0 API freeze (Group C). PyAnimationType moves from exported_types[]
to internal_types[]; drawable.animate(...) and mcrfpy.animations remain
unchanged because they construct/return Animation via C++ (make_shared +
tp_alloc), not via the Python module attribute.

mcrfpy.Animation(...) is intentionally gone — Animation lifetime is bound
to a single target object, which is more naturally expressed as
obj.animate(...). No backward-compat shim per the freeze policy.

Tests that import mcrfpy.Animation will fail and need updating in a
separate pass.
This commit is contained in:
John McCardle 2026-04-18 12:37:02 -04:00
commit 439317cc33

View file

@ -497,9 +497,6 @@ PyObject* PyInit_mcrfpy()
/*grid layers (#147)*/
&PyColorLayerType, &PyTileLayerType,
/*animation*/
&PyAnimationType,
/*timer*/
&PyTimerType,
@ -574,6 +571,10 @@ PyObject* PyInit_mcrfpy()
/*shader uniform collection - returned by drawable.uniforms but not directly instantiable (#106)*/
&mcrfpydef::PyUniformCollectionType,
/*animation - constructed internally by drawable.animate() and returned by mcrfpy.animations,
but not directly instantiable from Python (pre-1.0 API freeze)*/
&PyAnimationType,
nullptr};
// Set up PyWindowType methods and getsetters before PyType_Ready