Sprint Board Visual colaborativo para CULTIVA IA: formas personalizadas, multijugador con Yjs y persistencia con snapshots.
tldraw necesita un contenedor con dimensiones explícitas. Usa position:fixed; inset:0 para ocupar toda la ventana o un div con altura fija.
No uses texto/freehand para todo. Crea formas que representen tu dominio: TaskCard, ClientZone, MilestoneNode. Renders React completos en HTMLContainer.
Implementa indicator() en cada shape — renderiza un SVG simple cuando hay zoom alejado, evitando re-renders costosos de HTML.
Los cambios de canvas se disparan muy rápido durante el dibujado. Guarda con store.getSnapshot() debounceado cada 2000 ms, nunca en cada evento.
useYjsStore sincroniza el store de tldraw sobre un WebSocket. Los cursores y selecciones de otros usuarios aparecen automáticamente sin código extra.
Usa editor.getSvg() en lugar de PNG — independiente de resolución, mucho menor en tamaño y escalable a cualquier DPI para PDFs de cliente.