Hi everyone Here is a quick update on what I did last week
I started by fixing GIF animations, which weren’t working with primitives - only a static image of the first frame was shown. After some debugging, I realized the primitive renderer does support GIFs; I just needed to pass the time value via ViewInformation to the primitive processor. I fixed this by adding a timer to the DrawShape class. Next, I noticed that many animation effects weren’t working with text. On inspection, I found that several effects rely on subsetting text shapes - splitting them into paragraphs, words, or characters, and rendering each part separately. This enables effects to animate each paragraph/word/character sequentially, instead of the entire text block at once. I had completely overlooked this subsetting aspect until now, so it took a bit of time to understand. I’ve implemented paragraph-level subsetting using primitives, which was fairly straightforward. However, the existing metafile-based implementation does a lot more (including per-character and per-word subsetting) and can exclude the subsetted part from the original shape. I’ll be working on implementing that next. I’m also beginning work on moving sprite-related code out of the canvas and into VCL. I don’t have much progress there yet, but I’ll share more updates soon. That’s it for now! Best, Shardul