Creator here. I thought this would be of interest to the HN crowd for things like the LaTeX equation integration and Lua live-edit mode. Happy to answer any questions!
Creator here. I thought this would be of interest to the HN crowd for things like the LaTeX equation integration and Lua live-edit mode. Happy to answer any questions!
Your idea of generating diagrams from web request data is great! I'll definitely keep that one in mind.
On a related note, it's also planned that you will be able to invoke Vexlio from the command line with a Lua script to programmatically generate diagrams from the shell. That is not yet implemented, however.
1) What happens if Lua execution blocks? Or if you construct an infinite loop of drawing primitives?
2) The page claims that you can switch between code representation and normal mode. Are they somehow kept in sync? For example, if I draw a circle, will it generate an API call in Lua code?
3) The interface seems very similar to Inkscape's. Is this intentional?
Switching between normal and program mode has several restrictions, but at no point will your drawing lose any objects (if it does, that's a bug). Creating objects in normal mode does not generate API calls, meaning in order to interact with those objects in program mode, you need to use the method I outlined in this comment: https://news.ycombinator.com/item?id=14555028. Additionally, switching back to normal mode after using program mode will "commit" the Lua commands, and the next time you switch back to program mode, it will be as if the drawing was entirely created in normal mode. This piece is a bit of a pain point for me, so this behavior may change in the future.
Vexlio's interface was definitely inspired by Inkscape in some areas (perhaps most notably, the color bar at the bottom).
Is the license activation per machine? (As opposed to be being per user.)
Is the scripting language in the gif example Ruby?
Slightly off-topic. Did you use a predefined Hugo theme for the landing page ?
In your user manual, you show an alias for ellipse which draws on "current layer" - how to make an alias that will draw an object on a set later every time, and if layer doesn't exist, create it...
Also, will you have dragable guides (like Visio) from top and bottom, I use them extensively in the diagrams I draw... (drawn thousands)
You can define your own function to do what you're describing. It would just be a part of the function you define before calling the underlying Vexlio `ellipse()` function. Your alias function signature would look something like `function myEllipse(L, ...)` where L is the specified layer to check and create. Then the rest of the varargs would be passed to the `ellipse()` function.
Draggable guides are a good idea (Inkscape has them as well) that I'd like to add.