Estoy escribiendo una especie de editor de vectores usando fabric.js. Necesito implementar un historial con la opción de deshacer (y probablemente rehacer) para un pequeño subconjunto de modificaciones. Así que estoy usando el evento 'objeto: modificado' para ese propósito. Funciona perfecto cuando hago algo con un solo objeto, pero cuando se trata de una selección tengo un problema.
Tengo una serie de acciones de usuario. Si el usuario movió la figura, escribo el objeto en esa matriz con el Id. de la figura y la posición anterior para restaurarlo al hacer clic en Deshacer. Pero si el usuario movió varios objetos seleccionados, sucede con activeSelection. Y si quiero mantener mi esquema, tengo que dividir la selección en varias cifras y almacenar la posición de cada una de ellas.
¿Hay más opciones? ¿Cómo sueles lidiar con múltiples objetos?