-
-
Notifications
You must be signed in to change notification settings - Fork 43
Description
The contract currently defined for the matrix.draw() operation (an array of integers representing the brightness of each LED) differs from the contract used by the animation.
This mismatch prevents animations from correctly rendering frames that contain different brightness values per LED, making it impossible to replay animations built from frames with variable luminosity.
For animations, it may be useful to consider an animation contract based on a collection of frames expressed in the same format currently used by the draw method, together with an explicit duration (in milliseconds) for each frame. This would align the two contracts and enable proper playback of animations with per-frame and per-LED brightness variations.
Note: Managing animation timing externally (e.g. from Python by sending timed matrix.draw() calls) is not a viable option, as it would bypass the animation system entirely and does not scale or integrate properly with the intended animation workflow. Additionally, it would be extremely useful and clearer to manage animation start and stop directly within the Arduino_LED_Matrix.h library, so that led-matrix-painter users can rely on a clean, self-contained, and immediately reusable animation output as like as single frames.