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 [email protected]. For more options, visit https://groups.google.com/d/optout.
