Menu

Asymptote / News: Recent posts

Asymptote: 2.91 Released

Asymptote https://asymptote.sourceforge.io is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

By default, orthographic projections now use center=true;
the camera and target are automatically centered within the scene.
The surface constructor for triangles was fixed.
A bug in the WebGL flatness test was fixed.
Triangle group bugs were fixed and now produce compact HTML output.
Triangle groups are used for indexed surfaces drawn with the render option
tessellate=true.
GLSL error reporting was restored.
The reported camera up vector was fixed.
The map module was fixed.
A syntax warning in Xasy was fixed.
Improvements were made to the slide module.
A bug was fixed in the experimental settings.render=0 mode.
The debug option now outputs a traceback.

Posted by John Bowman 2024-08-15

Asymptote: 2.90 Released

Asymptote https://asymptote.sourceforge.io is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

A bug in the approximate transparency rendering code for GPUs without SSBO support was fixed.
Support was added for templated accesses involving imported types, top-level structure types, and static fields.
ImageMagick magick convert is now used instead of convert.
The add(picture dest, picture src, pair position) function now respects size specifications (backwards incompatible; the previous behaviour can be obtained with add(dest,src.fit(identity()),position).
The terminal is now reset upon exit. The erase command was fixed.
Picture scalings in different dimensions are decoupled again.
Flycheck syntax checking support for Emacs was added.
Portability issues were addressed.
Improvements were made to the documentation, including an introduction to deferred drawing.

Posted by John Bowman 2024-06-21

Asymptote: 2.89 Released

Asymptote https://asymptote.sourceforge.io is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

Portability fixes were made to allow static builds with or without pkg-config. Static linking of the GSL library is now supported. Redundant templated imports are avoided.

Posted by John Bowman 2024-03-25

Asymptote: 2.88 Released

Asymptote https://asymptote.sourceforge.io is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

Building against specific static libraries is supported again. An ambiguity in statistics.h was resolved. The output of dvisvgm is optimized by default. PDF 1.5 output is now generated.

Posted by John Bowman 2024-03-08

Asymptote: 2.87 Released

Asymptote https://asymptote.sourceforge.io is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

Templated imports were implemented. An incorrect dvisvgm optimization is avoided. SVG gradient shading offsets were fixed. Integer are now implicitly formatted with full precision. Inferred assignment of void type is prohibited. An LSP segmentation fault was fixed. Repeated stripping of file extensions is avoided. The --output-directory option of latexmk is supported. The OSMesa compatibility profile is used for offscreen rendering. The fitscreen toggle is fixed. The context menu in Xasy is now only opened for GUI-drawn items. A -v3d option allows embedding V3D content within a PDF file. A workaround was implemented for a MacOS libc++ parsing bug. The documentation was updated.

Posted by John Bowman 2024-02-27

Asymptote: 2.86 Released

Asymptote https://asymptote.sourceforge.io is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

PDF transfer functions are automatically applied; EPS output suppresses .setblendmode. NaN and inf values can be read in cvs mode. The OpenGL index buffer is properly initialized. WebGL and V3D primitives are used only when unscaled. Bugs in the inversion section of the geometry module were fixed. Portability issues were addressed.

Posted by John Bowman 2023-06-07

Asymptote: 2.85 Released

Asymptote https://asymptote.sourceforge.io is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

Intersections of 3D paths with Bezier triangles were implemented. A workaround for broken offscreen graphics drivers was implemented. The icon resource file is now pregenerated. Uninitialized variables and a division by zero were fixed. The 3D animation timer and keyboard controls were fixed. A workaround for a linetype bug in the QtSvg library was fixed. Xasy now centers images upon loading. Compilation issues were fixed. The resolution of cputime().change.user was improved.

Posted by John Bowman 2023-02-09

Asymptote: 2.84 Released

Asymptote https://asymptote.sourceforge.io is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

PDF image compression is now disabled by default for alternative output formats. The default UNIX postscript and PDF viewers were changed to evince. Makefile dependencies were fixed. A Qt compatibility bug was fixed in Xasy. A bug in XDR reads was fixed. A runtime error in the TexHead arrow was fixed. An inversion bug was fixed in the geometry module. A division by zero error in the vectorfield function was fixed. An option to display environment settings was added. The default labelmargin function now accounts for the pen linewidth. The resolution of the wall clock timer was improved.

Posted by John Bowman 2023-01-23

Asymptote: 2.83 Released

Asymptote https://asymptote.sourceforge.io is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

WebGL triangle groups were fixed. Context menus were added to Xasy objects to allow one to edit the fill type, line type, color, line cap, and optionally add arrowheads. Support for begingroup() and endgroup() was added to Xasy. Scaling in the vectorfield function was fixed. A quotient(x,y) bug when -1 < x/y < 0, introduced in version 2.42, was fixed.

Posted by John Bowman 2022-09-17

Asymptote: 2.82 Released

Asymptote https://asymptote.sourceforge.io is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

Support for Ghostscript 9.56 was added.
Ambiguous functions are listed.
The dvisvgmMultipleFiles option is now enabled by default.
A bug in generating PDF labels was fixed.
The mean color of multicoloured patches is output only for PRC code.
Subdivision crack adjustments were disabled for transparent patches.
The OpenGL transparency shader was further accelerated.
WebGL bounding boxes are now computed by the client upon loading.
Version 1.02 of the AsyGL library was released.

Posted by John Bowman 2022-08-07

Asymptote: 2.81 Released

Asymptote https://asymptote.sourceforge.io is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

Schur decompositions were implemented. A bug in uniform() was fixed. The Xasy bounding box and a crash when opening Xasy files were fixed. The transparency offset buffer is zeroed when GPU compression is unavailable. The surface constructor for solids of revolution was documented. Support for pkg-config was added. Opaque rendering on platforms lacking GL_ARB_fragment_shader_interlock was fixed.

Posted by John Bowman 2022-05-14

Asymptote: 2.80 Released

Asymptote https://asymptote.sourceforge.io is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

Compression of empty transparent pixel counts and other optimizations were implemented in the transparency shader. A weighted least-squares fit was added.

Posted by John Bowman 2022-04-06

Asymptote: 2.79 Released

Asymptote https://asymptote.sourceforge.io is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

The transparency shader was further optimized. The tensorshade fillrule was fixed. A compatibility fix was made to xasyBezierInterface.py. A real operator ecast(rational r) was implemented up to maxDenominator=100000. The dvisvgmMultipleFiles option, which speeds up xasy deconstruction with PDF TeX engines, was documented.

Posted by John Bowman 2022-03-07

Asymptote: 2.78 Released

Asymptote https://asymptote.sourceforge.io is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

The transparency shader was further optimized; an incorrect buffer size and export issues were fixed. A substitute was implemented for a missing strnlen function.

Posted by John Bowman 2022-02-05

Asymptote: 2.77 Released

Asymptote https://asymptote.sourceforge.io is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

A buffer overflow in the partialsum transparency shader was fixed; the workload distribution over the GPU processors was improved.

Posted by John Bowman 2022-01-22

Asymptote: 2.76 Released

Asymptote https://asymptote.sourceforge.io is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

WebGL and V3D bounds were fixed, along with the WebGL zoom and viewportshift. Under the Asymptote Web Application, the currentprojection is now persistant; for other WebGL instances, the 'c' keyboard binding can be used to display the currentprojection. The correct defaultfilename is set on reading V3D files from the command line. Portability issues were addressed.

Posted by John Bowman 2022-01-20

Asymptote: 2.75 Released

Asymptote https://asymptote.sourceforge.io is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

A 2D transparency bug was fixed. Vim support was improved. To support PNG transparency, the default driver was changed from pngalpha to png16m and the pdflatex TeX engine is used instead of latex. A pngdriver option was added. To support WebGL, billboard labels are enabled when configured for offscreen rendering. The subdivision crack work around for PRC output was removed. Compilation without the tirpc library is supported again (but not recommended since the V3D format requires XDR support).

Posted by John Bowman 2022-01-07

Asymptote: 2.74 Released

Asymptote http://asymptote.sourceforge.net is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

Order-independent transparency is disabled if SSBO support is unavailable. Embedded 3D renderings now work in inline TeX mode. The tiling pen was fixed. Support was added for filling contour plots by quantizing color density images. Unwanted shifting in PDF output when using non-letter size paper was fixed. Due to its limitations, the color.sty package was abandoned in favour of low-level specials. The bounding box contributions of the linejoin and linecap qualifiers are now correctly taken into account. The erase command is inhibited for svg and html output. A crash on save in the lsp server was fixed. Links to the gallery were fixed in the documentation.

Posted by John Bowman 2022-01-01

Asymptote: 2.73 Released

Asymptote http://asymptote.sourceforge.net is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

The asygl library was updated to support embedding of WebGL and WebGL2 scenes on the same page.

Posted by John Bowman 2021-12-28

Asymptote: 2.72 Released

WebGL2 is enabled by default only for examples that use image-based lighting. Multiple output formats in threaded interactive mode are now handled correctly. CPU partial sum indexing is used in the 3D transparency shader if the compute shader fails to compile.

Posted by John Bowman 2021-12-27

Asymptote: 2.71 Released

Asymptote http://asymptote.sourceforge.net is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

Support for the portable compressed 3D vector file format V3D was added. The default value of settings.prc was changed to false. Efficient order-independent transparency was implemented for modern OpenGL platforms and the OSMesa offscreen rendering engine (with no interactive transparency support for Mac OS X and WebGL). The WebGL library now uses WebGL2 if available. Image-based lighting was implemented. Many bug fixes and improvements were made to Xasy, allowing objects drawn with the graphical editor to be saved to and restored from a .xasy file, as well as being exportable to an .asy file. A function was added to graph a parametric function with control points determined by the specified derivative. The recommended PostScript viewer for MSWindows is now Sumatra PDF. The workflow for generating transparent PDFs and PNGs was fixed. Emacs lasy-mode was patched to work with Emacs >= 23. Support for the Language Server Protocol was added. Compilation with COMPACT=0 is supported again. All threads now return the same error code. A remote command-line interface to http://asymptote.ualberta.ca is now available.

Posted by John Bowman 2021-12-25

Asymptote: 2.70 Released

Asymptote http://asymptote.sourceforge.net is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

A stack overflow was fixed. Under MSWindows, problems with SVG generation and Xasy installation were fixed. Compiler warning messages were addressed.

Posted by John Bowman 2021-03-15

Asymptote: 2.69 Released

Asymptote http://asymptote.sourceforge.net is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

A segmentation fault in subpath3 was fixed. The fuzz parameter in bezulate was increased to handle font precision issues. A missing above argument was added in plain_boxes.asy. Scaling bugs in the palette module were fixed. The contour module now respects picture scaling. Bugs in reading null fields were fixed. Orthographic scaling is now consistent with perspective scaling when keepAspect=false. The obsolete everypage package was removed. A compilation issue with LIBCURL and compilation warnings were fixed.

Posted by John Bowman 2021-02-19

Asymptote: 2.68 Released

Asymptote http://asymptote.sourceforge.net is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

Floating point exceptions in OpenGL libraries are now masked. A normalization used to render tubes was fixed. A Label align(Label,dir) function was added for aligning label normals. A new settings.compress=true option controls PDF image compression. A bool isometry(transform) function was added. Various bugs in the geometry module were fixed. The transpose function ignores uninitialized elements. Null fields are treated as undefined values in cvs mode and in line mode. Uninitialized rendering variables were fixed. A RELEASE variable was added. Logarithmic graphs of surfaces are supported. Files are opened without assuming an asy suffix. Support for Ghostscript 9.53 was implemented. The end argument of Margin functions is now optional. A function cputime().change.clock that returns the high-resolution elapsed wall clock time was added. A --disable-curl option was added. The centering of slides was fixed. Null characters and null strings are supported in the replace function. Configuration without readline support was fixed. In binary mode, an entire file can be read into a string. The getc function now works properly when reading the NUL character. Reproducible builds are supported.

Posted by John Bowman 2020-11-23

Asymptote: 2.67 Released

Asymptote http://asymptote.sourceforge.net is a powerful descriptive vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. Asymptote provides for figures the same high-quality level of typesetting that LaTeX does for scientific text.

Support was added for importing and inputting URLs. Compilation and 2D SVG to HTML conversion no longer requires the GLM library; 2D html output is fit to the canvas unless settings.absolute=true. Diagnostics for dvisvgm were enabled; SVG clipping was fixed. A -globalread setting (default true) was implemented. Files are opened using the search path, which now includes the examples directory. An invalid array dimensions error was fixed. A WebGL resize event listener was added; the + and - keys now zoom in and out, rather than expanding and shrinking the viewport. Remeshing on export is forced; unnecessary remeshing on zoom in AsyGL is avoided. The triple dir(path3, path3) function was normalized. The repositioning of OpenGL windows was fixed. The copy constructors for path and path3 were fixed. Asymptote errors no longer cause Xasy to hang. A numerical precision issue was fixed. A portable way of skipping whitespace was implemented; casts from empty strings now yield uninitialized values. Interrupt handling under MacOS X was fixed. A devicepixelratio setting was implemented. The error location is displayed in the console. Segmentation faults were fixed. The documentation was updated and the code was reformatted. A hang on exit under MSWindows was fixed. Obsolete encoding modules were removed.

Posted by John Bowman 2020-08-06