On Tuesday, 9 May 2017 05:25:11 UTC-4, Rupert Smith wrote: > > Thanks for this explanation. Also, I did say in my OP that performance was > not such an important issue for me, as I am only rendering a relatively > static diagram that does not have a huge number of elements in it. I should > also concede that there is no guarantee that using 3x3 matrices would be > faster anyway, it depends on the implementation and the only real way to > know would be to set up a benchmark and measure and compare. > > So I decided to go with OpenSolid as it is a very nice library and has a > lot of features. >
Great! Let me know if you run into anything. There are definitely lots of places where the implementation could be made more efficient - to start I implemented everything in the cleanest/simplest way I could think of, but over time I'm planning to go back and do some optimizations to avoid unnecessary object allocations and function calls. I've already done this in a few places, but if you do run into any performance bottlenecks let me know so I know where to focus next. (Apologies for the late reply, I was at a conference for the last couple of days...) > I also cloned OpenSolid/svg and made a version that renders to > elm-community/typed-svg. Once I have finished converting the docs, tests > and examples you might like to clone it back again and publish it under > OpenSolid/typed-svg? I'll let you know once I get to that stage anyway. > I confess I'm still not sure exactly why a separate typed-svg version is necessary...since the TypedSvg.Core.Svg and TypedSvg.Core.Attribute are still just aliases for VirtualDom.Node and VirtualDom.Property respectively (instead of being new opaque types or something), you can already mix typed-svg and opensolid/svg elements/attributes freely without any kind of conversion or anything - see https://ellie-app.com/39pwNnwDzcqa1/2 for an example. To me the only difference is that a typed-svg version of opensolid/svg would depend on elm-community/typed-svg instead of elm-lang/svg and the internal implementation would be slightly different - but the exposed APIs would have exactly the same types. Am I missing something? -- You received this message because you are subscribed to the Google Groups "Elm Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.