Update visualizations in compose.jl without redrawing everything? ...transitions?

question

#1

Been learning to use ComposeJl and it’s very cool. I would really love to see more extensive documentation though. I have been figuring a few things out by digging through the code. I am testing Compose out in an application that requires part of the graphic to be updated often triggered by several events. Is this feasible? Can I also have transitions? How might I go about doing this in Compose? …Any help is appreciated!

…ohh, GTK backend!


#2

Maybe https://github.com/shashi/ComposeDiff.jl


#3

I saw that but was unable to tell if it will help me …or how to use it. Is it just for use with DOM? …or will it work with drawing in GTK? Is there any clear documentation on it?


#4

ComposeDiff points to https://github.com/shashi/Patchwork.jl which seems to be some kind of DOM.

  1. Using compose with GTK is straight forward, as you can use a Cairosurface as backend to compose and connect directly to a Gtk Canvas
  2. Compose is not optimized for fast rendering and not optimized for redrawing. It’s still fast enough for some (let’s say 100) elements, but especially deep context(context(contex( trees tend to be slow.
  3. If you’re interested in transitions, i’d recommend to go into the browser based rendering, where they have invented all these effects. (D3.js etc).
  4. Can you somehow explain your use case and the constraints?

#5

Yes, thanks! Well, actually I have been building a web browser from scratch (my apologies, it’s in bad shape right now). I am currently using Cairo in GTK to draw all elements. There are some things I really appreciate about ComposeJL and was in the process of testing it out in the browser. If ComposeJL get’s slow with large trees then it may not be what I’m looking for. Bummer! I guess I need to stick to low level graphics operations to optimize for speed.

Thanks for the information!