Re: update / new features
Jean-Pierre Delange via ntg-context <[email protected]> Wed, 29 Jul 2026 12:57:30 +0200
| Newsgroups | gmane.comp.tex.context |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format.
--===============9135204706437756962==
Content-Type: multipart/alternative;
boundary="------------Pp9WtL5VxN0JR1HRHCpkAJR6"
Content-Language: fr
This is a multi-part message in MIME format.
--------------Pp9WtL5VxN0JR1HRHCpkAJR6
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: quoted-printable
Hi Hans,
I installed the new ConTeXt LMTX version in a separate Windows=20
directory, so as not to interfere with my existing installation:
|C:\Users\adeim\context2026-29-07|
The version used for the test was:
*
ConTeXt LMTX: |2026.07.29 11:46|
*
LuaMetaTeX: |2.11.09|
*
platform: Windows 11, win64
*
processor: AMD Ryzen 5 5600
*
memory: 32 GB
I then copied |luametafun-threed.tex| to a separate test directory and=20
compiled it with:
|context luametafun-threed.tex |
The compilation completed successfully and produced a 15-page PDF. The=20
3D examples that were rendered =E2=80=94 including the Menger sponge and =
the=20
parametric and postprocessed spheres =E2=80=94 look very good.
The final statistics were:
|MetaPost: 3.051 seconds Total ConTeXt runtime: 3.760 seconds 15=20
processed and shipped pages Lua memory: 169 MB used, 173 MB maximum |
Some individual figures were also quite fast:
|Menger sponge: 2,400 triangles rendering time: 0.612 seconds Parametric=20
sphere: 20,000 triangles rendering time: about 0.145=E2=80=930.149 second=
s |
The log also reports substantial temporary memory clean-ups, for example=20
about 160 MB for the Menger sponge and about 412 MB for the parametric=20
spheres. The more complex implicit/intersection example reaches roughly=20
1 GB of temporary data, as described in the manual. Nevertheless, the=20
complete document compiled quickly on this machine.
I noticed three minor issues:
1.
At the beginning of the run, ConTeXt reports:
|modules > '3d' is not found |
and the final statistics mention one missing module, |*-3d|. However,=20
the internal 3D LuaMetaFun support is loaded correctly through=20
|mlib-thr.lmt|, and this does not prevent the document from compiling.
2. One internal reference remains unresolved:
|fig:threed:process:3 |
which appears as =E2=80=9CFigure ??=E2=80=9D in the PDF.
3.
Near the end of the compilation, the log reports:
|luatex warning > mplib: run script: cannot open : Invalid argument |
I had copied only |luametafun-threed.tex| to the test directory, so I=20
suspect that the final STL example could not find=20
|luametafun-threed-sphere.stl|. The PDF was still produced, but the last=20
STL figure was not rendered correctly. I will repeat the test after=20
copying the accompanying STL file as well.
As a first impression, the rendering performance on this Windows machine=20
is very good, and the visual quality of the generated bytemaps is excelle=
nt.
I am now preparing the same separate installation and test under WSL and=20
native Ubuntu, so that I can compare the three environments on the same=20
hardware.
Best wishes,
Jean-Pierre
Le 29/07/2026 =C3=A0 11:57, Hans Hagen via ntg-context a =C3=A9crit=C2=A0=
:
>
> Hi,
>
> I uploaded a new context version. Already for a while we have some=20
> ways to render #D graphics but the manual is pending so we keep a low=20
> profile. However, you can play with it and can find some information=20
> in luametafun-threed.tex (which you can compile).
>
> As usual with graphics, we hook this into MetaPost so that we can mix=20
> with other graphics, although for MetaPost of course it's just some=20
> abstraction.
>
> We focus on parametric, implicit, plane and intersections. The results=20
> are rather high quality bytemaps so they are quite efficient. Of=20
> course there is some runtime involved but one can cache. We are=20
> curious to know how performance is perceived because my 2018 laptop is=20
> not the best one to measure. Stippling is also possible. There are no=20
> dependencies on additional tools.
>
> One of the features is that we can import so called stl files (e.g.=20
> from mapple or mathematica) but we only did limited tests. Again, more=20
> info in the luametafun part of the manual; the more extensive manual=20
> will become available around the meeting, given that we have time.=20
> We're curious if users (if there are any) can test this.
>
> There are some postprocessing capabilities and Keith is exploring=20
> textures and animations, again something for a dedicated manual and=20
> later (but tests look stunning).
>
> A second new feature, a 2D side effect of 3D, is that we support=20
> voronoi rendering as described in luametafun-voronoi.tex and if there=20
> is enough interest we can look into 3D. First we need to know about=20
> applications in documents (there are plenty of examples in nature once=20
> you know about it).
>
> All is of course still somewhat experimental but the interfaces are=20
> okay. To what extend we will speed up matters (for voronoy) depends on=20
> usage. On a modern macine (we suppose) all is fine anyway btu we=20
> simply have no clue about possible user applications.
>
> Hans (with Mikael and Keith)
>
> -----------------------------------------------------------------
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 Hans Hagen | PRAGMA ADE
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tel: 038 477 53 69 | www.pragma-ad=
e.nl | www.pragma-pod.nl
> -----------------------------------------------------------------
>
> _______________________________________________________________________=
____________=20
>
> If your question is of interest to others as well, please add an entry=20
> to the Wiki!
>
> maillist : [email protected] /=20
> https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
> webpage=C2=A0 : https://www.pragma-ade.nl / https://context.aanhet.net=20
> (mirror)
> archive=C2=A0 : https://github.com/contextgarden/context
> wiki=C2=A0=C2=A0=C2=A0=C2=A0 : https://wiki.contextgarden.net
> _______________________________________________________________________=
____________=20
>
--------------Pp9WtL5VxN0JR1HRHCpkAJR6
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF=
-8">
</head>
<body>
<p>Hi Hans,</p>
<p>I installed the new ConTeXt LMTX version in a separate Windows
directory, so as not to interfere with my existing installation:</p=
>
<p><code>C:\Users\adeim\context2026-29-07</code></p>
<p>The version used for the test was:</p>
<ul>
<li>
<p>ConTeXt LMTX: <code>2026.07.29 11:46</code></p>
</li>
<li>
<p>LuaMetaTeX: <code>2.11.09</code></p>
</li>
<li>
<p>platform: Windows 11, win64</p>
</li>
<li>
<p>processor: AMD Ryzen 5 5600</p>
</li>
<li>
<p>memory: 32 GB</p>
</li>
</ul>
<p>I then copied <code>luametafun-threed.tex</code> to a separate
test directory and compiled it with:</p>
<pre><code class=3D"language-text">context luametafun-threed.tex
</code></pre>
<p>The compilation completed successfully and produced a 15-page
PDF. The 3D examples that were rendered =E2=80=94 including the Men=
ger
sponge and the parametric and postprocessed spheres =E2=80=94 look =
very
good.</p>
<p>The final statistics were:</p>
<pre><code class=3D"language-text">MetaPost: 3.051 seconds
Total ConTeXt runtime: 3.760 seconds
15 processed and shipped pages
Lua memory: 169 MB used, 173 MB maximum
</code></pre>
<p>Some individual figures were also quite fast:</p>
<pre><code class=3D"language-text">Menger sponge:
2,400 triangles
rendering time: 0.612 seconds
Parametric sphere:
20,000 triangles
rendering time: about 0.145=E2=80=930.149 seconds
</code></pre>
<p>The log also reports substantial temporary memory clean-ups, for
example about 160 MB for the Menger sponge and about 412 MB for
the parametric spheres. The more complex implicit/intersection
example reaches roughly 1 GB of temporary data, as described in
the manual. Nevertheless, the complete document compiled quickly
on this machine.<br>
I noticed three minor issues:</p>
<ol>
<li>
<p>At the beginning of the run, ConTeXt reports:</p>
</li>
</ol>
<pre><code class=3D"language-text">modules > '3d' is not found
</code></pre>
<p>and the final statistics mention one missing module, <code>*-3d</c=
ode>.
However, the internal 3D LuaMetaFun support is loaded correctly
through <code>mlib-thr.lmt</code>, and this does not prevent the
document from compiling.<br>
2. One internal reference remains unresolved:</p>
<pre><code class=3D"language-text">fig:threed:process:3
</code></pre>
<p>which appears as =E2=80=9CFigure ??=E2=80=9D in the PDF.</p>
<ol start=3D"3">
<li>
<p>Near the end of the compilation, the log reports:</p>
</li>
</ol>
<pre><code class=3D"language-text">luatex warning > mplib: run scr=
ipt: cannot open : Invalid argument
</code></pre>
<p>I had copied only <code>luametafun-threed.tex</code> to the test
directory, so I suspect that the final STL example could not find
<code>luametafun-threed-sphere.stl</code>. The PDF was still
produced, but the last STL figure was not rendered correctly. I
will repeat the test after copying the accompanying STL file as
well.<br>
As a first impression, the rendering performance on this Windows
machine is very good, and the visual quality of the generated
bytemaps is excellent.</p>
<p>I am now preparing the same separate installation and test under
WSL and native Ubuntu, so that I can compare the three
environments on the same hardware.</p>
<p>Best wishes,</p>
<p>Jean-Pierre</p>
<p><br>
</p>
<div class=3D"moz-cite-prefix">Le 29/07/2026 =C3=A0 11:57, Hans Hagen=
via
ntg-context a =C3=A9crit=C2=A0:<br>
</div>
<blockquote type=3D"cite"
cite=3D"mid:[email protected]">
<br>
Hi,
<br>
<br>
I uploaded a new context version. Already for a while we have some
ways to render #D graphics but the manual is pending so we keep a
low profile. However, you can play with it and can find some
information in luametafun-threed.tex (which you can compile).
<br>
<br>
As usual with graphics, we hook this into MetaPost so that we can
mix with other graphics, although for MetaPost of course it's just
some abstraction.
<br>
<br>
We focus on parametric, implicit, plane and intersections. The
results are rather high quality bytemaps so they are quite
efficient. Of course there is some runtime involved but one can
cache. We are curious to know how performance is perceived because
my 2018 laptop is not the best one to measure. Stippling is also
possible. There are no dependencies on additional tools.
<br>
<br>
One of the features is that we can import so called stl files
(e.g. from mapple or mathematica) but we only did limited tests.
Again, more info in the luametafun part of the manual; the more
extensive manual will become available around the meeting, given
that we have time. We're curious if users (if there are any) can
test this.
<br>
<br>
There are some postprocessing capabilities and Keith is exploring
textures and animations, again something for a dedicated manual
and later (but tests look stunning).
<br>
<br>
A second new feature, a 2D side effect of 3D, is that we support
voronoi rendering as described in luametafun-voronoi.tex and if
there is enough interest we can look into 3D. First we need to
know about applications in documents (there are plenty of examples
in nature once you know about it).
<br>
<br>
All is of course still somewhat experimental but the interfaces
are okay. To what extend we will speed up matters (for voronoy)
depends on usage. On a modern macine (we suppose) all is fine
anyway btu we simply have no clue about possible user
applications.
<br>
<br>
Hans (with Mikael and Keith)
<br>
<br>
-----------------------------------------------------------------
<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 Hans Hagen | PRAGMA ADE
<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tel: 038 477 53 69 | <a class=3D=
"moz-txt-link-abbreviated" href=3D"http://www.pragma-ade.nl">www.pragma-a=
de.nl</a> | <a class=3D"moz-txt-link-abbreviated" href=3D"http://www.prag=
ma-pod.nl">www.pragma-pod.nl</a>
<br>
-----------------------------------------------------------------
<br>
<br>
_________________________________________________________________________=
__________
<br>
If your question is of interest to others as well, please add an
entry to the Wiki!
<br>
<br>
maillist : <a class=3D"moz-txt-link-abbreviated" href=3D"mailto:ntg=
[email protected]">[email protected]</a> /
<a class=3D"moz-txt-link-freetext" href=3D"https://mailman.ntg.nl/m=
ailman3/lists/ntg-context.ntg.nl">https://mailman.ntg.nl/mailman3/lists/n=
tg-context.ntg.nl</a>
<br>
webpage=C2=A0 : <a class=3D"moz-txt-link-freetext" href=3D"https://=
www.pragma-ade.nl">https://www.pragma-ade.nl</a> / <a class=3D"moz-txt-li=
nk-freetext" href=3D"https://context.aanhet.net">https://context.aanhet.n=
et</a>
(mirror)
<br>
archive=C2=A0 : <a class=3D"moz-txt-link-freetext" href=3D"https://=
github.com/contextgarden/context">https://github.com/contextgarden/contex=
t</a>
<br>
wiki=C2=A0=C2=A0=C2=A0=C2=A0 : <a class=3D"moz-txt-link-freetext" h=
ref=3D"https://wiki.contextgarden.net">https://wiki.contextgarden.net</a>
<br>
_________________________________________________________________________=
__________
<br>
</blockquote>
</body>
</html>
--------------Pp9WtL5VxN0JR1HRHCpkAJR6--
--===============9135204706437756962==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : [email protected] / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive : https://github.com/contextgarden/context
wiki : https://wiki.contextgarden.net
___________________________________________________________________________________
--===============9135204706437756962==--