quiver
quiver copied to clipboard
A modern commutative diagram editor for the web.
It's lovely to output actual tikz drawings from the editor, but I was wondering if it would be easy/possible to export to ASCII (or possibly Unicode) My lab does a...
Would it be possible to use this library https://github.com/johannes-wolf/typst-canvas to provide an option for exporting diagrams to Typst? It claims to have a similar API to TikZ.
Especially for long vertical/diagonal arrow labels, it's often clearer than forcing horizontality (after all, the paper can be rotated -- the relative positions of arrows and labels after rendering can't)....
Hiding the grid is often useful for taking screenshots, which means it would be nice to hide empty objects entirely.
Currently, `\definecolor` only adds colours to the label colour popup: It would be useful to also allow colours to be used with commands like `\color` in KaTeX. This is currently...
Arrow label are sometimes not displayed in embeds. Not steadily reproduced: may be fixed by refreshing. [Example](https://q.uiver.app/?q=WzAsMTEsWzIsMCwiVyJdLFswLDIsIldeeygxKX0iXSxbNCwyLCJXXnsoMil9Il0sWzAsNCwiV157XFxwZXJwKDEpfSJdLFs0LDQsIldee1xccGVycCgyKX0iXSxbMCw2LCJcXHZlYyBXXntcXHBhcmFsbGVsKDEpfSJdLFs0LDYsIlxcdmVjIFdee1xccGFyYWxsZWwoMil9Il0sWzIsOCwiXFx2ZWMgV15cXHBhcmFsbGVsIl0sWzIsMTAsIldeXFxwZXJwIl0sWzEsMTEsIlxcdmVjIFdee1xccGVycFxccGFyYWxsZWx9Il0sWzMsMTEsIldee1xccGVycFxccGVycH0iXSxbMSwyLCJcXHRpbWVzIiwyLHsiY3VydmUiOi00LCJzdHlsZSI6eyJoZWFkIjp7Im5hbWUiOiJub25lIn19fV0sWzEsNCwiXFx0aW1lcyIsMCx7ImN1cnZlIjo1LCJzdHlsZSI6eyJoZWFkIjp7Im5hbWUiOiJub25lIn19fV0sWzMsMiwiXFx0aW1lcyIsMCx7ImN1cnZlIjo1LCJzdHlsZSI6eyJoZWFkIjp7Im5hbWUiOiJub25lIn19fV0sWzMsNCwiXFx0aW1lcyIsMCx7ImN1cnZlIjo1LCJzdHlsZSI6eyJoZWFkIjp7Im5hbWUiOiJub25lIn19fV0sWzksMTAsIisiLDIseyJjdXJ2ZSI6LTEsInN0eWxlIjp7ImhlYWQiOnsibmFtZSI6Im5vbmUifX19XSxbNSw2LCJcXHZlY1xccmhvIiwyLHsiY3VydmUiOjMsInN0eWxlIjp7ImJvZHkiOnsibmFtZSI6ImJhcnJlZCJ9fX1dLFs3LDUsIlxcdmVjIGNeeygxKX0iLDAseyJjdXJ2ZSI6LTEsInN0eWxlIjp7ImJvZHkiOnsibmFtZSI6ImJhcnJlZCJ9fX1dLFs3LDYsIlxcdmVjIGNeeygyKX0iLDIseyJjdXJ2ZSI6MSwic3R5bGUiOnsiYm9keSI6eyJuYW1lIjoiYmFycmVkIn19fV0sWzcsOCwiKyIsMCx7ImN1cnZlIjo0LCJzdHlsZSI6eyJoZWFkIjp7Im5hbWUiOiJub25lIn19fV0sWzQsNiwiKyIsMix7ImN1cnZlIjotMiwic3R5bGUiOnsiaGVhZCI6eyJuYW1lIjoibm9uZSJ9fX1dLFszLDUsIisiLDAseyJjdXJ2ZSI6Miwic3R5bGUiOnsiaGVhZCI6eyJuYW1lIjoibm9uZSJ9fX1dLFs1LDYsIlxcdGltZXMvKyIsMCx7InN0eWxlIjp7ImhlYWQiOnsibmFtZSI6Im5vbmUifX19XSxbMCw4LCJcXHBpIiwwLHsiY3VydmUiOi01fV0sWzUsOSwiXFx2ZWNcXHBpIiwyLHsiY3VydmUiOjMsInN0eWxlIjp7ImJvZHkiOnsibmFtZSI6ImJhcnJlZCJ9fX1dLFs2LDksIlxcdmVjXFxwaSIsMCx7ImN1cnZlIjotNSwic3R5bGUiOnsiYm9keSI6eyJuYW1lIjoiYmFycmVkIn19fV0sWzEsMywiXFxwaV57KDEpfSJdLFsyLDQsIlxccGleeygyKX0iXSxbMTEsMCwiIiwwLHsibGV2ZWwiOjF9XSxbMTIsOCwiXFxwaSIsMCx7ImN1cnZlIjoxLCJsZXZlbCI6MSwic3R5bGUiOnsiYm9keSI6eyJuYW1lIjoiYmFycmVkIn19fV0sWzEzLDgsIlxccGkiLDAseyJjdXJ2ZSI6LTEsImxldmVsIjoxLCJzdHlsZSI6eyJib2R5Ijp7Im5hbWUiOiJiYXJyZWQifX19XSxbMTQsMTAsIlxccGkiLDIseyJjdXJ2ZSI6LTMsImxldmVsIjoxLCJzdHlsZSI6eyJib2R5Ijp7Im5hbWUiOiJiYXJyZWQifX19XSxbMTUsOCwiIiwyLHsibGV2ZWwiOjF9XSxbMTksMCwiIiwwLHsiY3VydmUiOi0zLCJsZXZlbCI6MX1dLFsyMCwyLCIiLDIseyJjdXJ2ZSI6MywibGV2ZWwiOjF9XSxbMjEsMSwiIiwyLHsiY3VydmUiOi0zLCJsZXZlbCI6MX1dLFsyMiw5LCJcXHZlY1xccGkiLDIseyJjdXJ2ZSI6NCwibGV2ZWwiOjF9XV0=&embed) (embedded in [here](https://ulysseszh.github.io/physics/2023/03/30/measure-ensemble.html#thermal-contact)) Actual:  Expected:  The screenshots come from Firefox 119...
See for instance [this diagram](https://q.uiver.app/?q=WzAsMTEsWzIsMCwiVyJdLFswLDIsIldeeygxKX0iXSxbNCwyLCJXXnsoMil9Il0sWzAsNCwiV157XFxwZXJwKDEpfSJdLFs0LDQsIldee1xccGVycCgyKX0iXSxbMCw2LCJcXHZlYyBXXntcXHBhcmFsbGVsKDEpfSJdLFs0LDYsIlxcdmVjIFdee1xccGFyYWxsZWwoMil9Il0sWzIsOCwiXFx2ZWMgV15cXHBhcmFsbGVsIl0sWzIsMTAsIldeXFxwZXJwIl0sWzEsMTEsIlxcdmVjIFdee1xccGVycFxccGFyYWxsZWx9Il0sWzMsMTEsIldee1xccGVycFxccGVycH0iXSxbMSwyLCJcXHRpbWVzIiwyLHsiY3VydmUiOi00LCJzdHlsZSI6eyJoZWFkIjp7Im5hbWUiOiJub25lIn19fV0sWzEsNCwiXFx0aW1lcyIsMCx7ImN1cnZlIjo1LCJzdHlsZSI6eyJoZWFkIjp7Im5hbWUiOiJub25lIn19fV0sWzMsMiwiXFx0aW1lcyIsMCx7ImN1cnZlIjo1LCJzdHlsZSI6eyJoZWFkIjp7Im5hbWUiOiJub25lIn19fV0sWzMsNCwiXFx0aW1lcyIsMCx7ImN1cnZlIjo1LCJzdHlsZSI6eyJoZWFkIjp7Im5hbWUiOiJub25lIn19fV0sWzksMTAsIisiLDIseyJjdXJ2ZSI6LTEsInN0eWxlIjp7ImhlYWQiOnsibmFtZSI6Im5vbmUifX19XSxbNSw2LCJcXHZlY1xccmhvIiwyLHsiY3VydmUiOjMsInN0eWxlIjp7ImJvZHkiOnsibmFtZSI6ImJhcnJlZCJ9fX1dLFs3LDUsIlxcdmVjIGNeeygxKX0iLDAseyJjdXJ2ZSI6LTEsInN0eWxlIjp7ImJvZHkiOnsibmFtZSI6ImJhcnJlZCJ9fX1dLFs3LDYsIlxcdmVjIGNeeygyKX0iLDIseyJjdXJ2ZSI6MSwic3R5bGUiOnsiYm9keSI6eyJuYW1lIjoiYmFycmVkIn19fV0sWzcsOCwiKyIsMCx7ImN1cnZlIjo0LCJzdHlsZSI6eyJoZWFkIjp7Im5hbWUiOiJub25lIn19fV0sWzQsNiwiKyIsMix7ImN1cnZlIjotMiwic3R5bGUiOnsiaGVhZCI6eyJuYW1lIjoibm9uZSJ9fX1dLFszLDUsIisiLDAseyJjdXJ2ZSI6Miwic3R5bGUiOnsiaGVhZCI6eyJuYW1lIjoibm9uZSJ9fX1dLFs1LDYsIlxcdGltZXMvKyIsMCx7InN0eWxlIjp7ImhlYWQiOnsibmFtZSI6Im5vbmUifX19XSxbMCw4LCJcXHBpIiwwLHsiY3VydmUiOi01fV0sWzUsOSwiXFx2ZWNcXHBpIiwyLHsiY3VydmUiOjMsInN0eWxlIjp7ImJvZHkiOnsibmFtZSI6ImJhcnJlZCJ9fX1dLFs2LDksIlxcdmVjXFxwaSIsMCx7ImN1cnZlIjotNSwic3R5bGUiOnsiYm9keSI6eyJuYW1lIjoiYmFycmVkIn19fV0sWzEsMywiXFxwaV57KDEpfSJdLFsyLDQsIlxccGleeygyKX0iXSxbMTEsMCwiIiwwLHsibGV2ZWwiOjF9XSxbMTIsOCwiXFxwaSIsMCx7ImN1cnZlIjoxLCJsZXZlbCI6MSwic3R5bGUiOnsiYm9keSI6eyJuYW1lIjoiYmFycmVkIn19fV0sWzEzLDgsIlxccGkiLDAseyJjdXJ2ZSI6LTEsImxldmVsIjoxLCJzdHlsZSI6eyJib2R5Ijp7Im5hbWUiOiJiYXJyZWQifX19XSxbMTQsMTAsIlxccGkiLDIseyJjdXJ2ZSI6LTMsImxldmVsIjoxLCJzdHlsZSI6eyJib2R5Ijp7Im5hbWUiOiJiYXJyZWQifX19XSxbMTUsOCwiIiwyLHsibGV2ZWwiOjF9XSxbMTksMCwiIiwwLHsiY3VydmUiOi0zLCJsZXZlbCI6MX1dLFsyMCwyLCIiLDIseyJjdXJ2ZSI6MywibGV2ZWwiOjF9XSxbMjEsMSwiIiwyLHsiY3VydmUiOi0zLCJsZXZlbCI6MX1dLFsyMiw5LCJcXHZlY1xccGkiLDIseyJjdXJ2ZSI6NCwibGV2ZWwiOjF9XV0=), in which the exported `` crops the curved edges at the sides. This is because `diagram_size` does not currently take edges into account. https://github.com/varkor/quiver/blob/4a5f197691c229fc7e97a799614cd81081e9fb1d/src/ui.js#L2471-L2487
This is rarely the desired behaviour.
It would be nice if **quiver** could parse the following: ``` \[(rf)^a \xto{\eta(rf)^a} r\ell(rf)^a \xto{r\bar\ell_{rf}} r(\ell rf)^b \xto{r(\varepsilon f)^b} rf^b\] ``` to [the corresponding diagram](https://q.uiver.app/#q=WzAsNCxbMCwwLCIocmYpXmEiXSxbMSwwLCJyXFxlbGwocmYpXmEiXSxbMiwwLCJyKFxcZWxsIHJmKV5iIl0sWzMsMCwicmZeYiJdLFswLDEsIlxcZXRhKHJmKV5hIl0sWzEsMiwiclxcYmFyXFxlbGxfe3JmfSJdLFsyLDMsInIoXFx2YXJlcHNpbG9uIGYpXmIiXV0=). There may be parsing ambiguities;...
Provide a showcase or templates in a gallery section. These can be user contributed ofc, curated by the maintainers. Thanks for making this tool!