Asymptote: 3.11 Released
A collections library introduces hash maps, hash sets, sorted sets, queues, and B-tree maps (which maintain sorted order) as templated modules, along with iterator utilities such as zip and enumerate. User-defined structs can now be iterated with range-based for loops via operator iter, support bracket indexing through operator[] and operator[=], and benefit from native hashing of ints, strings, reals, and int arrays. The legacy getopt fallback was removed. Rendering issues were addressed. The documentation...
Asymptote: 3.10 Released
The 3D camera diagnostic was fixed. Support for the ncursesw library was added. Division by zero errors with empty 3D scenes were fixed. The options argument in the animation module was fixed. Integer multiplication was optimized.
Ok, I now understand that you weren't using bars to indicate dimensions but to illustrate mapping. I've add this sentence in the manual: Since bars are intended for indicating precise dimensions, they should only be drawn with NoMargin (the default). It is clear from your example that you misunderstood the purpose of margins. In fact this is a good opportunity to show how they can be used to avoid ugly overlap of arrows with paths. I've attached your example, rewritten to show a poor example on the...
The focus on this release was TeXLive 2026, including getting the support in for WebGL animations. The animation features in the AsyGL library are a work in progress and we will continue add more functionality. Billboard labels aren't yet supported and the scene clipping bounds have yet to be adjusted to account for animation transforms. But at least the core functionality is in the C++ code so we can now focus on updating the online AsyGL library. For now, use settings.autobillboard=false; forWebGL...
Asymptote: 3.09 Released
A 3D rendering bug exposed by the new default setting autoplay=true was fixed. The experimental and buggy support for OpenGL animations was removed in favour of WebGL animations.