summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-06-14 23:55:19 +0000
committerKarl Berry <karl@freefriends.org>2010-06-14 23:55:19 +0000
commitda1f4b4b53c65c7dc07081018a7f7c2fa991978f (patch)
treef5fb25e25602c508ab97092d59963a28d9c4efb8 /Master
parent68651406885f7b6aa9838a395237fd51a127e99f (diff)
asymptote 1.98
git-svn-id: svn://tug.org/texlive/trunk@18984 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rwxr-xr-xMaster/bin/i386-cygwin/asy.exebin6061070 -> 6040078 bytes
-rwxr-xr-xMaster/texmf/asymptote/GUI/xasyVersion.py2
-rw-r--r--Master/texmf/asymptote/asy-keywords.el2
-rw-r--r--Master/texmf/asymptote/graph3.asy15
-rw-r--r--Master/texmf/asymptote/plain_Label.asy2
-rw-r--r--Master/texmf/asymptote/plain_constants.asy2
-rw-r--r--Master/texmf/asymptote/three.asy32
-rw-r--r--Master/texmf/asymptote/three_surface.asy17
-rw-r--r--Master/texmf/asymptote/three_tube.asy6
-rw-r--r--Master/texmf/asymptote/version.asy2
-rw-r--r--Master/texmf/doc/asymptote/CAD.pdfbin67565 -> 67565 bytes
-rw-r--r--Master/texmf/doc/asymptote/asymptote.pdfbin1691702 -> 1691053 bytes
-rw-r--r--Master/texmf/doc/asymptote/examples/BezierPatch.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/GaussianSurface.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/Klein.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/RiemannSurface.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/RiemannSurfaceRoot.asy5
-rw-r--r--Master/texmf/doc/asymptote/examples/SierpinskiGasket.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/SierpinskiSponge.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/basealign.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/cheese.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/cos3.asy10
-rw-r--r--Master/texmf/doc/asymptote/examples/cyclohexane.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/elevation.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/epix.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/equilchord.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/exp3.asy7
-rw-r--r--Master/texmf/doc/asymptote/examples/extrudedcontour.asy9
-rw-r--r--Master/texmf/doc/asymptote/examples/filesurface.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/gamma3.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/magnetic.asy3
-rw-r--r--Master/texmf/doc/asymptote/examples/p-orbital.asy5
-rw-r--r--Master/texmf/doc/asymptote/examples/parametricelevation.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/parametricsurface.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/pipeintersection.asy3
-rw-r--r--Master/texmf/doc/asymptote/examples/roll.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/shellsqrtx01.asy8
-rw-r--r--Master/texmf/doc/asymptote/examples/sin3.asy7
-rw-r--r--Master/texmf/doc/asymptote/examples/sinc.asy9
-rw-r--r--Master/texmf/doc/asymptote/examples/slidedemo.asy7
-rw-r--r--Master/texmf/doc/asymptote/examples/soccerball.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/sphere.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/sphericalharmonic.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/spiral3.asy3
-rw-r--r--Master/texmf/doc/asymptote/examples/splitpatch.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/sqrtx01.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/sqrtx01y1.asy3
-rw-r--r--Master/texmf/doc/asymptote/examples/stroke3.asy4
-rw-r--r--Master/texmf/doc/asymptote/examples/threeviews.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/torus.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/trefoilknot.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/trumpet.asy6
-rw-r--r--Master/texmf/doc/asymptote/examples/truncatedIcosahedron.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/twistedtubes.asy2
-rw-r--r--Master/texmf/doc/asymptote/examples/vectorfieldsphere.asy4
-rw-r--r--Master/texmf/doc/asymptote/examples/washer.asy5
-rw-r--r--Master/texmf/doc/asymptote/examples/washermethod.asy8
-rw-r--r--Master/texmf/doc/asymptote/examples/wedge.asy6
-rw-r--r--Master/texmf/doc/asymptote/examples/xxsq01.asy8
-rw-r--r--Master/texmf/doc/asymptote/examples/xxsq01x-1.asy3
-rw-r--r--Master/texmf/doc/asymptote/examples/xxsq01y.asy8
-rw-r--r--Master/texmf/doc/info/asy-faq.info2
-rw-r--r--Master/texmf/doc/info/asymptote.info249
-rw-r--r--Master/texmf/doc/man/man1/asy.man1.pdfbin11358 -> 11358 bytes
-rwxr-xr-xMaster/tlpkg/asymptote/asy.exebin6061070 -> 6040078 bytes
-rwxr-xr-xMaster/tlpkg/bin/tl-update-asy4
66 files changed, 286 insertions, 234 deletions
diff --git a/Master/bin/i386-cygwin/asy.exe b/Master/bin/i386-cygwin/asy.exe
index c72517c1b55..ec8e0b97035 100755
--- a/Master/bin/i386-cygwin/asy.exe
+++ b/Master/bin/i386-cygwin/asy.exe
Binary files differ
diff --git a/Master/texmf/asymptote/GUI/xasyVersion.py b/Master/texmf/asymptote/GUI/xasyVersion.py
index a10e441dc96..549ab3e3b3b 100755
--- a/Master/texmf/asymptote/GUI/xasyVersion.py
+++ b/Master/texmf/asymptote/GUI/xasyVersion.py
@@ -1,2 +1,2 @@
#!/usr/bin/env python
-xasyVersion = "1.96"
+xasyVersion = "1.98"
diff --git a/Master/texmf/asymptote/asy-keywords.el b/Master/texmf/asymptote/asy-keywords.el
index 1328eae5e2c..6ab99004d56 100644
--- a/Master/texmf/asymptote/asy-keywords.el
+++ b/Master/texmf/asymptote/asy-keywords.el
@@ -2,7 +2,7 @@
;; This file is automatically generated by asy-list.pl.
;; Changes will be overwritten.
;;
-(defvar asy-keywords-version "1.96")
+(defvar asy-keywords-version "1.98")
(defvar asy-keyword-name '(
and controls tension atleast curl if else while for do return break continue struct typedef new access import unravel from include quote static public private restricted this explicit true false null cycle newframe operator ))
diff --git a/Master/texmf/asymptote/graph3.asy b/Master/texmf/asymptote/graph3.asy
index 9c6529a74dd..ee83e8cb99b 100644
--- a/Master/texmf/asymptote/graph3.asy
+++ b/Master/texmf/asymptote/graph3.asy
@@ -1877,10 +1877,11 @@ void draw(picture pic=currentpicture, Label[] L=new Label[],
void draw(picture pic=currentpicture, Label[] L=new Label[],
guide3[][] g, pen p=currentpen, light light=currentlight,
- string name="", interaction interaction=LabelInteraction())
+ string name="", render render=defaultrender,
+ interaction interaction=LabelInteraction())
{
draw(pic,L,g,sequence(new pen(int) {return p;},g.length),light,name,
- interaction);
+ render,interaction);
}
real maxlength(triple f(pair z), pair a, pair b, int nu, int nv)
@@ -1893,7 +1894,8 @@ picture vectorfield(path3 vector(pair v), triple f(pair z), pair a, pair b,
int nu=nmesh, int nv=nu, bool truesize=false,
real maxlength=truesize ? 0 : maxlength(f,a,b,nu,nv),
bool cond(pair z)=null, pen p=currentpen,
- arrowbar3 arrow=Arrow3, margin3 margin=PenMargin3)
+ arrowbar3 arrow=Arrow3, margin3 margin=PenMargin3,
+ string name="", render render=defaultrender)
{
picture pic;
real du=1/nu;
@@ -1915,21 +1917,24 @@ picture vectorfield(path3 vector(pair v), triple f(pair z), pair a, pair b,
scale=max > 0 ? maxlength/max : 1;
} else scale=1;
+ begingroup3(pic,name == "" ? "vectorfield" : name,render);
for(int i=0; i <= nu; ++i) {
real x=interp(a.x,b.x,i*du);
for(int j=0; j <= nv; ++j) {
pair z=(x,interp(a.y,b.y,j*dv));
if(all || cond(z)) {
path3 g=scale3(scale)*vector(z);
+ string name="vector";
if(truesize) {
picture opic;
- draw(opic,g,p,arrow,margin);
+ draw(opic,g,p,arrow,margin,name,render);
add(pic,opic,f(z));
} else
- draw(pic,shift(f(z))*g,p,arrow,margin);
+ draw(pic,shift(f(z))*g,p,arrow,margin,name,render);
}
}
}
+ endgroup3(pic);
return pic;
}
diff --git a/Master/texmf/asymptote/plain_Label.asy b/Master/texmf/asymptote/plain_Label.asy
index 6e6f231375a..4f9d9a20f11 100644
--- a/Master/texmf/asymptote/plain_Label.asy
+++ b/Master/texmf/asymptote/plain_Label.asy
@@ -297,7 +297,7 @@ struct Label {
void label(frame f, transform t=identity(), pair position, pair align) {
pen p0=p == nullpen ? currentpen : p;
- align=length(align)*unit(shiftless(t)*align);
+ align=length(align)*unit(rotation(t)*align);
label(f,s,size,embed(t)*shiftless(T),
t*position+align*labelmargin(p0)+shift(T)*0,align,p0);
}
diff --git a/Master/texmf/asymptote/plain_constants.asy b/Master/texmf/asymptote/plain_constants.asy
index ba8947c91c2..d1d11b1b1c5 100644
--- a/Master/texmf/asymptote/plain_constants.asy
+++ b/Master/texmf/asymptote/plain_constants.asy
@@ -1,4 +1,4 @@
-restricted int undefined=intMax+((intMax % 2)-1);
+restricted int undefined=(intMax % 2 == 1) ? intMax : intMax-1;
restricted real inches=72;
restricted real inch=inches;
diff --git a/Master/texmf/asymptote/three.asy b/Master/texmf/asymptote/three.asy
index b0d9c456faa..2de8b4a5cca 100644
--- a/Master/texmf/asymptote/three.asy
+++ b/Master/texmf/asymptote/three.asy
@@ -36,6 +36,7 @@ struct render
// General parameters:
real margin; // shrink amount for rendered openGL viewport, in bp.
real tubegranularity; // granularity for rendering tubes
+ bool labelfill; // fill subdivision cracks in unlighted labels
static render defaultrender;
@@ -46,7 +47,8 @@ struct render
bool3 merge=defaultrender.merge,
int sphere=defaultrender.sphere,
real margin=defaultrender.margin,
- real tubegranularity=defaultrender.tubegranularity)
+ real tubegranularity=defaultrender.tubegranularity,
+ bool labelfill=defaultrender.labelfill)
{
this.compression=compression;
this.granularity=granularity;
@@ -56,6 +58,7 @@ struct render
this.sphere=sphere;
this.margin=margin;
this.tubegranularity=tubegranularity;
+ this.labelfill=labelfill;
}
}
@@ -70,6 +73,7 @@ defaultrender.merge=false;
defaultrender.margin=0.02;
defaultrender.tubegranularity=0.005;
defaultrender.sphere=NURBSsphere;
+defaultrender.labelfill=true;
real defaultshininess=0.25;
@@ -2127,8 +2131,7 @@ pair max(frame f, projection P)
void draw(picture pic=currentpicture, Label L="", path3 g,
align align=NoAlign, material p=currentpen, margin3 margin=NoMargin3,
- light light=nolight, string name="",
- render render=defaultrender)
+ light light=nolight, string name="", render render=defaultrender)
{
pen q=(pen) p;
pic.add(new void(frame f, transform3 t, picture pic, projection P) {
@@ -2167,13 +2170,13 @@ draw=new void(frame f, path3 g, material p=currentpen,
void cylinder(transform3) {};
void sphere(transform3, bool half) {};
void disk(transform3) {};
- void tube(path3, path3);
+ void pipe(path3, path3);
if(prc) {
cylinder=new void(transform3 t) {drawPRCcylinder(f,t,p,light);};
sphere=new void(transform3 t, bool half)
{drawPRCsphere(f,t,half,p,light,render);};
- disk=new void(transform3 t) {draw(f,t*unitdisk,p,light);};
- tube=new void(path3 center, path3 g)
+ disk=new void(transform3 t) {draw(f,t*unitdisk,p,light,render);};
+ pipe=new void(path3 center, path3 g)
{drawPRCtube(f,center,g,p,light);};
}
real linecap;
@@ -2193,7 +2196,7 @@ draw=new void(frame f, path3 g, material p=currentpen,
L += 2;
}
}
- tube T=tube(g,width,render,cylinder,sphere,tube);
+ tube T=tube(g,width,render,cylinder,sphere,pipe);
path3 c=T.center;
if(L >= 0) {
if(open) {
@@ -2300,10 +2303,11 @@ void draw(picture pic=currentpicture, Label L="", path3 g,
begingroup3(pic,name,render);
bool drawpath=arrow(pic,g,p,margin,light,arrowheadlight);
if(bar(pic,g,p,margin,light,arrowheadlight) && drawpath)
- draw(pic,L,g,align,p,margin,light);
+ draw(pic,L,g,align,p,margin,light,render);
if(group)
endgroup3(pic);
- label(pic,L,g,align,(pen) p);
+ if(L.s != "")
+ label(pic,L,g,align,(pen) p);
}
void draw(frame f, path3 g, material p=currentpen, arrowbar3 arrow,
@@ -2316,7 +2320,7 @@ void draw(frame f, path3 g, material p=currentpen, arrowbar3 arrow,
if(group)
begingroup3(f,name,render);
if(arrow(pic,g,p,NoMargin3,light,arrowheadlight))
- draw(f,g,p,light,P);
+ draw(f,g,p,light,render,P);
add(f,pic.fit());
if(group)
endgroup3(f);
@@ -2349,7 +2353,8 @@ void add(picture src, triple position, bool group=true, bool above=true)
void arrow(picture pic=currentpicture, Label L="", triple b, triple dir,
real length=arrowlength, align align=NoAlign,
pen p=currentpen, arrowbar3 arrow=Arrow3, margin3 margin=EndMargin3,
- light light=nolight, light arrowheadlight=currentlight)
+ light light=nolight, light arrowheadlight=currentlight,
+ string name="", render render=defaultrender)
{
Label L=L.copy();
if(L.defaultposition) L.position(0);
@@ -2358,7 +2363,7 @@ void arrow(picture pic=currentpicture, Label L="", triple b, triple dir,
picture opic;
marginT3 margin=margin(b--b,p); // Extract margin.begin and margin.end
triple a=(margin.begin+length+margin.end)*unit(dir);
- draw(opic,L,a--O,align,p,arrow,margin,light,arrowheadlight);
+ draw(opic,L,a--O,align,p,arrow,margin,light,arrowheadlight,name,render);
add(pic,opic,b);
}
@@ -2366,10 +2371,11 @@ void arrow(picture pic=currentpicture, Label L="", triple b, pair dir,
real length=arrowlength, align align=NoAlign,
pen p=currentpen, arrowbar3 arrow=Arrow3, margin3 margin=EndMargin3,
light light=nolight, light arrowheadlight=currentlight,
+ string name="", render render=defaultrender,
projection P=currentprojection)
{
arrow(pic,L,b,invert(dir,b,P),length,align,p,arrow,margin,light,
- arrowheadlight);
+ arrowheadlight,name,render);
}
triple min3(picture pic, projection P=currentprojection)
diff --git a/Master/texmf/asymptote/three_surface.asy b/Master/texmf/asymptote/three_surface.asy
index e00acfa8367..c4f05c7882f 100644
--- a/Master/texmf/asymptote/three_surface.asy
+++ b/Master/texmf/asymptote/three_surface.asy
@@ -1431,8 +1431,12 @@ void label(frame f, Label L, triple position, align align=NoAlign,
L.T3=transform3(P);
begingroup3(f,name == "" ? L.s : name,render);
if(is3D()) {
- for(patch S : surface(L,position).s)
+ bool lighton=light.on();
+ for(patch S : surface(L,position).s) {
draw3D(f,S,position,L.p,light,interaction);
+ if(render.labelfill && !lighton) // Fill subdivision cracks
+ _draw(f,S.external(),position,L.p,interaction.type);
+ }
} else {
pen p=color(L.T3*Z,L.p,light,shiftless(P.T.modelview));
if(L.defaulttransform3) {
@@ -1475,10 +1479,15 @@ void label(picture pic=currentpicture, Label L, triple position,
surface S=surface(L,v);
begingroup3(f,name == "" ? L.s : name,render,v,interaction.type);
- if(is3D())
- for(patch S : surface(L,v).s)
+ bool lighton=light.on();
+ if(is3D()) {
+ for(patch S : surface(L,v).s) {
draw3D(f,S,v,L.p,light,interaction);
-
+ if(render.labelfill && !lighton) // Fill subdivision cracks
+ _draw(f,S.external(),v,L.p,interaction.type);
+ }
+ }
+
if(pic != null) {
pen p=color(L.T3*Z,L.p,light,shiftless(P.T.modelview));
if(L.defaulttransform3) {
diff --git a/Master/texmf/asymptote/three_tube.asy b/Master/texmf/asymptote/three_tube.asy
index 2eb5e4cf716..281eb0716da 100644
--- a/Master/texmf/asymptote/three_tube.asy
+++ b/Master/texmf/asymptote/three_tube.asy
@@ -296,7 +296,7 @@ struct tube
void operator init(path3 p, real width, render render=defaultrender,
void cylinder(transform3)=Null,
void sphere(transform3, bool half)=Null,
- void tube(path3, path3)=null) {
+ void pipe(path3, path3)=null) {
real r=0.5*width;
void generate(path3 p) {
@@ -380,7 +380,7 @@ struct tube
path3 Center=path3(pre,point,post,b,T.cyclic);
center=center&Center;
- if(tube != null) { // Compute path along tube
+ if(pipe != null) { // Compute path along tube
triple[] pre=new triple[n+1];
triple[] point=new triple[n+1];
triple[] post=new triple[n+1];
@@ -392,7 +392,7 @@ struct tube
point[i+1]=P[3][0];
}
post[n]=S.s[S.index[n-1][0]].P[3][0];
- tube(Center,path3(pre,point,post,b,T.cyclic));
+ pipe(Center,path3(pre,point,post,b,T.cyclic));
}
}
}
diff --git a/Master/texmf/asymptote/version.asy b/Master/texmf/asymptote/version.asy
index 12b1e9bbad3..9b1fe1c2bcc 100644
--- a/Master/texmf/asymptote/version.asy
+++ b/Master/texmf/asymptote/version.asy
@@ -1 +1 @@
-string VERSION="1.96";
+string VERSION="1.98";
diff --git a/Master/texmf/doc/asymptote/CAD.pdf b/Master/texmf/doc/asymptote/CAD.pdf
index 4406335c391..e5cfb778ea7 100644
--- a/Master/texmf/doc/asymptote/CAD.pdf
+++ b/Master/texmf/doc/asymptote/CAD.pdf
Binary files differ
diff --git a/Master/texmf/doc/asymptote/asymptote.pdf b/Master/texmf/doc/asymptote/asymptote.pdf
index 0bd7a54892d..e0b2b521e80 100644
--- a/Master/texmf/doc/asymptote/asymptote.pdf
+++ b/Master/texmf/doc/asymptote/asymptote.pdf
Binary files differ
diff --git a/Master/texmf/doc/asymptote/examples/BezierPatch.asy b/Master/texmf/doc/asymptote/examples/BezierPatch.asy
index 0e6b477eb13..8d770e058ae 100644
--- a/Master/texmf/doc/asymptote/examples/BezierPatch.asy
+++ b/Master/texmf/doc/asymptote/examples/BezierPatch.asy
@@ -1,7 +1,7 @@
import three;
size(10cm);
-currentlight=(0,0,1);
+currentlight=Viewport;
surface s=surface(patch(new triple[][] {
{(0,0,0),(1,0,0),(1,0,0),(2,0,0)},
diff --git a/Master/texmf/doc/asymptote/examples/GaussianSurface.asy b/Master/texmf/doc/asymptote/examples/GaussianSurface.asy
index 7b75a5133a7..bf198a6a243 100644
--- a/Master/texmf/doc/asymptote/examples/GaussianSurface.asy
+++ b/Master/texmf/doc/asymptote/examples/GaussianSurface.asy
@@ -16,6 +16,6 @@ xaxis3(Label("$x$"),red,Arrow3);
yaxis3(Label("$y$"),red,Arrow3);
zaxis3(XYZero(extend=true),red,Arrow3);
-draw(s,lightgray,meshpen=black+thick(),nolight);
+draw(s,lightgray,meshpen=black+thick(),nolight,render(merge=true));
label("$O$",O,-Z+Y,red);
diff --git a/Master/texmf/doc/asymptote/examples/Klein.asy b/Master/texmf/doc/asymptote/examples/Klein.asy
index b2f6d1b0e79..99914d90432 100644
--- a/Master/texmf/doc/asymptote/examples/Klein.asy
+++ b/Master/texmf/doc/asymptote/examples/Klein.asy
@@ -22,7 +22,7 @@ triple f(pair t) {
}
surface s=surface(f,(0,0),(2pi,2pi),8,8,Spline);
-draw(s,lightolive+white,"bottle");
+draw(s,lightolive+white,"bottle",render(merge=true));
string lo="$\displaystyle u\in[0,\pi]: \cases{x=3\cos u(1+\sin u)+(2-\cos u)\cos u\cos v,\cr
y=8\sin u+(2-\cos u)\sin u\cos v,\cr
diff --git a/Master/texmf/doc/asymptote/examples/RiemannSurface.asy b/Master/texmf/doc/asymptote/examples/RiemannSurface.asy
index f32ca4d7539..a1f1b665089 100644
--- a/Master/texmf/doc/asymptote/examples/RiemannSurface.asy
+++ b/Master/texmf/doc/asymptote/examples/RiemannSurface.asy
@@ -10,4 +10,4 @@ triple f(pair t) {return (exp(t.x)*cos(t.y),exp(t.x)*sin(t.y),t.y);}
surface s=surface(f,(-4,-2pi),(0,4pi),8,16,Spline);
s.colors(palette(s.map(zpart),Rainbow()));
-draw(s);
+draw(s,render(merge=true));
diff --git a/Master/texmf/doc/asymptote/examples/RiemannSurfaceRoot.asy b/Master/texmf/doc/asymptote/examples/RiemannSurfaceRoot.asy
index 93bd7035842..8cb3af2cfa9 100644
--- a/Master/texmf/doc/asymptote/examples/RiemannSurfaceRoot.asy
+++ b/Master/texmf/doc/asymptote/examples/RiemannSurfaceRoot.asy
@@ -1,11 +1,10 @@
// Riemann surface of z^{1/n}
import graph3;
import palette;
-
+
int n=3;
size(200,300,keepAspect=false);
-//settings.nothin=true;
currentprojection=orthographic(10,10,30);
currentlight=(10,10,5);
@@ -14,4 +13,4 @@ triple f(pair t) {return (t.x*cos(t.y),t.x*sin(t.y),t.x^(1/n)*sin(t.y/n));}
surface s=surface(f,(0,0),(1,2pi*n),8,16,Spline);
s.colors(palette(s.map(zpart),Rainbow()));
-draw(s,meshpen=black);
+draw(s,meshpen=black,render(merge=true));
diff --git a/Master/texmf/doc/asymptote/examples/SierpinskiGasket.asy b/Master/texmf/doc/asymptote/examples/SierpinskiGasket.asy
index 57251735db8..2e0d4facd64 100644
--- a/Master/texmf/doc/asymptote/examples/SierpinskiGasket.asy
+++ b/Master/texmf/doc/asymptote/examples/SierpinskiGasket.asy
@@ -28,4 +28,4 @@ recur(O,0.5,1);
s.colors(palette(s.map(zpart),Rainbow()));
-draw(s);
+draw(s,render(merge=true));
diff --git a/Master/texmf/doc/asymptote/examples/SierpinskiSponge.asy b/Master/texmf/doc/asymptote/examples/SierpinskiSponge.asy
index 209c3d182ed..328447d4ac4 100644
--- a/Master/texmf/doc/asymptote/examples/SierpinskiSponge.asy
+++ b/Master/texmf/doc/asymptote/examples/SierpinskiSponge.asy
@@ -39,4 +39,4 @@ sf.append(rotate(90,Y)*s);
sf.append(rotate(90,Z)*s);
sf.colors(palette(sf.map(abs),Rainbow()));
-draw(sf);
+draw(sf,render(compression=Low,merge=true));
diff --git a/Master/texmf/doc/asymptote/examples/basealign.asy b/Master/texmf/doc/asymptote/examples/basealign.asy
index 8a34bdab4b7..4bf83c94033 100644
--- a/Master/texmf/doc/asymptote/examples/basealign.asy
+++ b/Master/texmf/doc/asymptote/examples/basealign.asy
@@ -1,5 +1,7 @@
import fontsize;
import three;
+
+settings.autobillboard=false;
currentprojection=orthographic(Z);
defaultpen(fontsize(100pt));
diff --git a/Master/texmf/doc/asymptote/examples/cheese.asy b/Master/texmf/doc/asymptote/examples/cheese.asy
index f283f5c8115..9a16e4130dc 100644
--- a/Master/texmf/doc/asymptote/examples/cheese.asy
+++ b/Master/texmf/doc/asymptote/examples/cheese.asy
@@ -9,4 +9,4 @@ real f(real x, real y, real z) {
surface sf=surface(contour3(f,(-2pi,-2pi,-2pi),(2pi,2pi,2pi),12));
sf.colors(palette(sf.map(abs),Gradient(red,yellow)));
-draw(sf,nolight);
+draw(sf,nolight,render(merge=true));
diff --git a/Master/texmf/doc/asymptote/examples/cos3.asy b/Master/texmf/doc/asymptote/examples/cos3.asy
index fa9c8f49550..ef8054d6627 100644
--- a/Master/texmf/doc/asymptote/examples/cos3.asy
+++ b/Master/texmf/doc/asymptote/examples/cos3.asy
@@ -6,15 +6,12 @@ currentprojection=orthographic(1,-2,1);
real f(pair z) {return abs(cos(z));}
-real Arg(triple v)
-{
- return degrees(cos((v.x,v.y)),warn=false);
-}
+real Arg(triple v) {return degrees(cos((v.x,v.y)),warn=false);}
surface s=surface(f,(-pi,-2),(pi,2),20,Spline);
s.colors(palette(s.map(Arg),Wheel()));
-draw(s);
+draw(s,render(compression=Low,merge=true));
real xmin=point((-1,-1,-1)).x;
real xmax=point((1,1,1)).x;
@@ -23,3 +20,6 @@ draw((xmin,0,0)--(xmax,0,0),dashed);
xaxis3("$\mathop{\rm Re} z$",Bounds,InTicks);
yaxis3("$\mathop{\rm Im} z$",Bounds,InTicks(beginlabel=false));
zaxis3("$|\cos(z)|$",Bounds,InTicks);
+
+
+
diff --git a/Master/texmf/doc/asymptote/examples/cyclohexane.asy b/Master/texmf/doc/asymptote/examples/cyclohexane.asy
index 8e1ff466b9d..11b01551c8d 100644
--- a/Master/texmf/doc/asymptote/examples/cyclohexane.asy
+++ b/Master/texmf/doc/asymptote/examples/cyclohexane.asy
@@ -36,6 +36,8 @@ triple h12=rotate(120,c6,c5)*h11;
pen Black=gray(0.4);
+defaultrender=render(compression=Zero,merge=true);
+
draw(shift(c1)*carbon,Black);
draw(shift(c2)*carbon,Black);
draw(shift(c3)*carbon,Black);
diff --git a/Master/texmf/doc/asymptote/examples/elevation.asy b/Master/texmf/doc/asymptote/examples/elevation.asy
index 4e4579d98a9..1ff4ee38f28 100644
--- a/Master/texmf/doc/asymptote/examples/elevation.asy
+++ b/Master/texmf/doc/asymptote/examples/elevation.asy
@@ -6,6 +6,8 @@ currentprojection=orthographic(0.8,1,1);
size(400,300,IgnoreAspect);
+defaultrender.merge=true;
+
real f(pair z) {return cos(2*pi*z.x)*sin(2*pi*z.y);}
surface s=surface(f,(-1/2,-1/2),(1/2,1/2),50,Spline);
diff --git a/Master/texmf/doc/asymptote/examples/epix.asy b/Master/texmf/doc/asymptote/examples/epix.asy
index df0cd3d336c..b833289bd80 100644
--- a/Master/texmf/doc/asymptote/examples/epix.asy
+++ b/Master/texmf/doc/asymptote/examples/epix.asy
@@ -6,7 +6,7 @@ currentprojection=perspective(4,2,3);
real f(pair z) {return z.y^3/2-3z.x^2*z.y;}
-draw(surface(f,(-1,-1),(1,1),nx=10,Spline),green);
+draw(surface(f,(-1,-1),(1,1),nx=10,Spline),green,render(merge=true));
draw(Label("$y$",1),(0,0,0)--(0,2,0),red,Arrow3);
draw(Label("$x$",1),(0,0,0)--(2,0,0),red,Arrow3);
diff --git a/Master/texmf/doc/asymptote/examples/equilchord.asy b/Master/texmf/doc/asymptote/examples/equilchord.asy
index ae3665b1a66..b93da942d08 100644
--- a/Master/texmf/doc/asymptote/examples/equilchord.asy
+++ b/Master/texmf/doc/asymptote/examples/equilchord.asy
@@ -15,7 +15,7 @@ draw((-a,-a,0)--(-a,a,0)--(a,a,0)--(a,-a,0)--cycle,lightgray);
xaxis3(Label("$x$",1),red,Arrow3);
yaxis3(Label("$y$",1),red,Arrow3);
draw(circle((0,0,0),1),dashed);
-draw(surface(F,(-1,-1),(t,1),20,monotonic),green,black);
+draw(surface(F,(-1,-1),(t,1),20,monotonic),green,black,render(merge=true));
real y=sqrt(1-t^2);
draw((t,y,0)--(t,-y,0)--(t,0,sqrt(3)*y)--cycle,blue);
label("$1$",(1,0,0),-Y+X);
diff --git a/Master/texmf/doc/asymptote/examples/exp3.asy b/Master/texmf/doc/asymptote/examples/exp3.asy
index e7508a29297..39baba993f3 100644
--- a/Master/texmf/doc/asymptote/examples/exp3.asy
+++ b/Master/texmf/doc/asymptote/examples/exp3.asy
@@ -6,15 +6,12 @@ currentprojection=orthographic(1,-2,1);
real f(pair z) {return abs(exp(z));}
-real Arg(triple v)
-{
- return degrees(exp((v.x,v.y)),warn=false);
-}
+real Arg(triple v) {return degrees(exp((v.x,v.y)),warn=false);}
surface s=surface(f,(-2,-pi),(2,pi),20,Spline);
s.colors(palette(s.map(Arg),Wheel()));
-draw(s);
+draw(s,render(compression=Low,merge=true));
real xmin=point((-1,-1,-1)).x;
real xmax=point((1,1,1)).x;
diff --git a/Master/texmf/doc/asymptote/examples/extrudedcontour.asy b/Master/texmf/doc/asymptote/examples/extrudedcontour.asy
index b5ad885a350..7b2f67459ce 100644
--- a/Master/texmf/doc/asymptote/examples/extrudedcontour.asy
+++ b/Master/texmf/doc/asymptote/examples/extrudedcontour.asy
@@ -8,15 +8,16 @@ real b=4;
real f(pair z) {return (z.x+z.y)/(2+cos(z.x)*sin(z.y));}
guide[][] g=contour(f,(-10,-10),(10,10),new real[]{8},150);
+render render=render(merge=true);
for(guide p:g[0]){
- draw(extrude(p,8Z),palered);
- draw(path3(p),red+2pt);
+ draw(extrude(p,8Z),palered,render);
+ draw(path3(p),red+2pt,render);
}
-draw(lift(f,g),red+2pt);
+draw(lift(f,g),red+2pt,render);
surface s=surface(f,(0,0),(10,10),20,Spline);
s.colors(palette(s.map(zpart),Rainbow()+opacity(0.5)));
-draw(s);
+draw(s,render);
axes3("$x$","$y$","$z$",Arrow3);
diff --git a/Master/texmf/doc/asymptote/examples/filesurface.asy b/Master/texmf/doc/asymptote/examples/filesurface.asy
index 98adc045f07..2a93c96ec19 100644
--- a/Master/texmf/doc/asymptote/examples/filesurface.asy
+++ b/Master/texmf/doc/asymptote/examples/filesurface.asy
@@ -21,7 +21,7 @@ real[] level=uniform(min(f)*(1-sqrtEpsilon),max(f)*(1+sqrtEpsilon),4);
s.colors(palette(s.map(new real(triple v) {return find(level >= v.z);}),
Rainbow()));
-draw(s,meshpen=thick());
+draw(s,meshpen=thick(),render(merge=true));
triple m=currentpicture.userMin;
triple M=currentpicture.userMax;
diff --git a/Master/texmf/doc/asymptote/examples/gamma3.asy b/Master/texmf/doc/asymptote/examples/gamma3.asy
index e7fdde015e0..e522dad4e70 100644
--- a/Master/texmf/doc/asymptote/examples/gamma3.asy
+++ b/Master/texmf/doc/asymptote/examples/gamma3.asy
@@ -22,7 +22,7 @@ real Arg(triple v)
}
s.colors(palette(s.map(Arg),Wheel()));
-draw(s);
+draw(s,render(compression=Low,merge=true));
real xmin=point((-1,-1,-1)).x;
real xmax=point((1,1,1)).x;
diff --git a/Master/texmf/doc/asymptote/examples/magnetic.asy b/Master/texmf/doc/asymptote/examples/magnetic.asy
index 4dc187f5770..3ae40466d43 100644
--- a/Master/texmf/doc/asymptote/examples/magnetic.asy
+++ b/Master/texmf/doc/asymptote/examples/magnetic.asy
@@ -10,7 +10,8 @@ real B(real z) {return 1-0.5cos(pi*z/10);}
real f(real x, real y, real z) {return 0.5B(z)*(a(z)*x^2+b(z)*y^2)-1;}
-draw(surface(contour3(f,(-2,-2,-10),(2,2,10),10)),blue+opacity(0.75));
+draw(surface(contour3(f,(-2,-2,-10),(2,2,10),10)),blue+opacity(0.75),
+ render(merge=true));
xaxis3(Label("$x$",1),red);
yaxis3(Label("$y$",1),red);
diff --git a/Master/texmf/doc/asymptote/examples/p-orbital.asy b/Master/texmf/doc/asymptote/examples/p-orbital.asy
index d8b22bc2982..1932e098c67 100644
--- a/Master/texmf/doc/asymptote/examples/p-orbital.asy
+++ b/Master/texmf/doc/asymptote/examples/p-orbital.asy
@@ -2,6 +2,7 @@ import graph3;
import palette;
size(200);
currentprojection=orthographic(6,8,2);
+viewportmargin=(1cm,0);
real c0=0.1;
@@ -22,7 +23,9 @@ real R=abs((20,20,20));
surface s=surface(f,(0,0),(R,2pi),100,8,Spline,cond);
s.colors(palette(s.map(abs),Gradient(palegreen,heavyblue)));
-draw(s);
+
+render render=render(compression=Low,merge=true);
+draw(s,render);
draw(zscale3(-1)*s);
axes3("$x$","$y$","$z$",Arrow3);
diff --git a/Master/texmf/doc/asymptote/examples/parametricelevation.asy b/Master/texmf/doc/asymptote/examples/parametricelevation.asy
index 52cec8728a5..ac0f0b09ad5 100644
--- a/Master/texmf/doc/asymptote/examples/parametricelevation.asy
+++ b/Master/texmf/doc/asymptote/examples/parametricelevation.asy
@@ -7,4 +7,4 @@ currentprojection=orthographic(4,2,4);
triple f(pair z) {return expi(z.x,z.y);}
surface s=surface(f,(0,0),(pi,2pi),10,Spline);
-draw(s,mean(palette(s.map(zpart),BWRainbow())),black,nolight);
+draw(s,mean(palette(s.map(zpart),BWRainbow())),black,nolight,render(merge=true));
diff --git a/Master/texmf/doc/asymptote/examples/parametricsurface.asy b/Master/texmf/doc/asymptote/examples/parametricsurface.asy
index de669b59faf..299ea72eef7 100644
--- a/Master/texmf/doc/asymptote/examples/parametricsurface.asy
+++ b/Master/texmf/doc/asymptote/examples/parametricsurface.asy
@@ -20,4 +20,4 @@ surface s=surface(f,(0,0),(2pi,2pi),8,8,Spline);
// draw(s,nullpen,meshpen=p);
// surface & mesh
-draw(s,lightgray,meshpen=p);
+draw(s,lightgray,meshpen=p,render(merge=true));
diff --git a/Master/texmf/doc/asymptote/examples/pipeintersection.asy b/Master/texmf/doc/asymptote/examples/pipeintersection.asy
index 5bf9cfbe6f3..6b0388f1378 100644
--- a/Master/texmf/doc/asymptote/examples/pipeintersection.asy
+++ b/Master/texmf/doc/asymptote/examples/pipeintersection.asy
@@ -9,4 +9,5 @@ real f(pair z) {return min(sqrt(1-z.x^2),sqrt(1-z.y^2));}
surface s=surface(f,(0,0),(1,1),40,Spline);
transform3 t=rotate(90,O,Z), t2=t*t, t3=t2*t, i=xscale3(-1)*zscale3(-1);
-draw(surface(s,t*s,t2*s,t3*s,i*s,i*t*s,i*t2*s,i*t3*s),blue,render(merge=true));
+draw(surface(s,t*s,t2*s,t3*s,i*s,i*t*s,i*t2*s,i*t3*s),blue,
+ render(compression=Low,closed=true,merge=true));
diff --git a/Master/texmf/doc/asymptote/examples/roll.asy b/Master/texmf/doc/asymptote/examples/roll.asy
index 088da3177f4..4d15ac0febe 100644
--- a/Master/texmf/doc/asymptote/examples/roll.asy
+++ b/Master/texmf/doc/asymptote/examples/roll.asy
@@ -7,4 +7,4 @@ return(t.x+t.y/4+sin(t.y),cos(t.y),sin(t.y));
}
surface s=surface(f,(0,0),(2pi,2pi),7,20,Spline);
-draw(s,olive);
+draw(s,olive,render(merge=true));
diff --git a/Master/texmf/doc/asymptote/examples/shellsqrtx01.asy b/Master/texmf/doc/asymptote/examples/shellsqrtx01.asy
index c4edec122c8..553200df14c 100644
--- a/Master/texmf/doc/asymptote/examples/shellsqrtx01.asy
+++ b/Master/texmf/doc/asymptote/examples/shellsqrtx01.asy
@@ -13,12 +13,14 @@ path p=graph(F,0,1,n=30,operator ..)--(1,0)--cycle;
path3 p3=path3(p);
revolution a=revolution(p3,X,alpha,0);
-draw(surface(a),color);
+
+render render=render(compression=0,merge=true);
+draw(surface(a),color,render);
draw(p3,blue);
surface s=surface(p);
-draw(s,color);
-draw(rotate(alpha,X)*s,color);
+draw(s,color,render);
+draw(rotate(alpha,X)*s,color,render);
xaxis3(Label("$x$",1),xmax=1.25,dashed,Arrow3);
yaxis3(Label("$y$",1),Arrow3);
diff --git a/Master/texmf/doc/asymptote/examples/sin3.asy b/Master/texmf/doc/asymptote/examples/sin3.asy
index d35cd271808..76551dacb95 100644
--- a/Master/texmf/doc/asymptote/examples/sin3.asy
+++ b/Master/texmf/doc/asymptote/examples/sin3.asy
@@ -6,15 +6,12 @@ currentprojection=orthographic(1,-2,1);
real f(pair z) {return abs(sin(z));}
-real Arg(triple v)
-{
- return degrees(sin((v.x,v.y)),warn=false);
-}
+real Arg(triple v) {return degrees(cos((v.x,v.y)),warn=false);}
surface s=surface(f,(-pi,-2),(pi,2),20,Spline);
s.colors(palette(s.map(Arg),Wheel()));
-draw(s);
+draw(s,render(compression=Low,merge=true));
real xmin=point((-1,-1,-1)).x;
real xmax=point((1,1,1)).x;
diff --git a/Master/texmf/doc/asymptote/examples/sinc.asy b/Master/texmf/doc/asymptote/examples/sinc.asy
index cd0d377e633..352585bdbe4 100644
--- a/Master/texmf/doc/asymptote/examples/sinc.asy
+++ b/Master/texmf/doc/asymptote/examples/sinc.asy
@@ -2,7 +2,7 @@ import graph3;
import contour;
currentprojection=orthographic(1,-2,1);
-currentlight=(1,-1,0.5);
+currentlight=White;
size(12cm,0);
@@ -11,8 +11,13 @@ real sinc(pair z) {
return r != 0 ? sin(r)/r : 1;
}
+render render=render(compression=Low,merge=true);
+
draw(lift(sinc,contour(sinc,(-2,-2),(2,2),new real[] {0})),red);
-draw(surface(sinc,(-2,-2),(2,2),Spline),lightgray+opacity(0.5));
+draw(surface(sinc,(-2,-2),(2,2),Spline),lightgray,render);
+
+draw(scale3(2*sqrt(2))*unitdisk,paleyellow+opacity(0.25),nolight,render);
+draw(scale3(2*sqrt(2))*unitcircle3,red,render);
xaxis3("$x$",Bounds,InTicks);
yaxis3("$y$",Bounds,InTicks(beginlabel=false));
diff --git a/Master/texmf/doc/asymptote/examples/slidedemo.asy b/Master/texmf/doc/asymptote/examples/slidedemo.asy
index 52ede757b47..7a753a54d61 100644
--- a/Master/texmf/doc/asymptote/examples/slidedemo.asy
+++ b/Master/texmf/doc/asymptote/examples/slidedemo.asy
@@ -93,11 +93,12 @@ triple F3(real x) {return (x,f(x),0);}
path p=graph(pic,F,0,1,n=30,operator ..)--(1,0)--cycle;
path3 p3=path3(p);
revolution a=revolution(p3,X,alpha,0);
-draw(pic,surface(a),color);
+render render=render(compression=0,merge=true);
+draw(pic,surface(a),color,render);
draw(pic,p3,blue);
surface s=surface(p);
-draw(pic,s,color);
-draw(pic,rotate(alpha,X)*s,color);
+draw(pic,s,color,render);
+draw(pic,rotate(alpha,X)*s,color,render);
xaxis3(pic,Label("$x$",1),xmax=1.25,dashed,Arrow3);
yaxis3(pic,Label("$y$",1),Arrow3);
dot(pic,"$(1,1)$",(1,1,0));
diff --git a/Master/texmf/doc/asymptote/examples/soccerball.asy b/Master/texmf/doc/asymptote/examples/soccerball.asy
index f481ef1b7ff..a37063dbb29 100644
--- a/Master/texmf/doc/asymptote/examples/soccerball.asy
+++ b/Master/texmf/doc/asymptote/examples/soccerball.asy
@@ -2,6 +2,8 @@ import graph3;
size(400);
currentlight.background=palegreen;
+defaultrender=render(compression=Zero,merge=true);
+
real c=(1+sqrt(5))/2;
triple[] z={(c,1,0),(-c,1,0),(-c,-1,0),(c,-1,0)};
diff --git a/Master/texmf/doc/asymptote/examples/sphere.asy b/Master/texmf/doc/asymptote/examples/sphere.asy
index 41f3f548895..8d1b5fe50cd 100644
--- a/Master/texmf/doc/asymptote/examples/sphere.asy
+++ b/Master/texmf/doc/asymptote/examples/sphere.asy
@@ -3,4 +3,4 @@ import three;
size(200);
currentprojection=orthographic(5,4,3);
-draw(unitsphere,green,render(compression=Zero));
+draw(unitsphere,green,render(compression=Zero,merge=true));
diff --git a/Master/texmf/doc/asymptote/examples/sphericalharmonic.asy b/Master/texmf/doc/asymptote/examples/sphericalharmonic.asy
index d89d81aee86..9fbb16f624d 100644
--- a/Master/texmf/doc/asymptote/examples/sphericalharmonic.asy
+++ b/Master/texmf/doc/asymptote/examples/sphericalharmonic.asy
@@ -11,4 +11,4 @@ triple f(pair z) {return r(z.x,z.y)*expi(z.x,z.y);}
surface s=surface(f,(0,0),(pi,2pi),50,Spline);
s.colors(palette(s.map(abs),Gradient(yellow,red)));
-draw(s);
+draw(s,render(compression=Low,merge=true));
diff --git a/Master/texmf/doc/asymptote/examples/spiral3.asy b/Master/texmf/doc/asymptote/examples/spiral3.asy
index cea9665a951..727ca3f6d3a 100644
--- a/Master/texmf/doc/asymptote/examples/spiral3.asy
+++ b/Master/texmf/doc/asymptote/examples/spiral3.asy
@@ -4,6 +4,7 @@ import palette;
size3(10cm);
currentprojection=orthographic(5,4,2);
+viewportmargin=(2cm,0);
real r(real t) {return 3exp(-0.1*t);}
real x(real t) {return r(t)*cos(t);}
@@ -15,5 +16,5 @@ path3 p=graph(x,y,z,0,6*pi,50,operator ..);
tube T=tube(p,2);
surface s=T.s;
s.colors(palette(s.map(zpart),BWRainbow()));
-draw(s);
+draw(s,render(merge=true));
draw(T.center,thin());
diff --git a/Master/texmf/doc/asymptote/examples/splitpatch.asy b/Master/texmf/doc/asymptote/examples/splitpatch.asy
index cfd5c9a4c93..200fb2c4c44 100644
--- a/Master/texmf/doc/asymptote/examples/splitpatch.asy
+++ b/Master/texmf/doc/asymptote/examples/splitpatch.asy
@@ -19,6 +19,8 @@ triple[][] B={
split S=split(A,B,10);
//write(S.T.length);
+defaultrender.merge=true;
+
for(int i=0; i < S.T.length; ++i)
draw(surface(patch(S.T[i])),Pen(i));
draw(surface(patch(B)),blue);
diff --git a/Master/texmf/doc/asymptote/examples/sqrtx01.asy b/Master/texmf/doc/asymptote/examples/sqrtx01.asy
index 2ca9ac697d6..4d2b0a45dce 100644
--- a/Master/texmf/doc/asymptote/examples/sqrtx01.asy
+++ b/Master/texmf/doc/asymptote/examples/sqrtx01.asy
@@ -12,7 +12,7 @@ path p=graph(F,0,1,n=20,operator ..);
path3 p3=path3(p);
revolution a=revolution(p3,X,0,360);
-draw(surface(a),color);
+draw(surface(a),color,render(compression=Low,merge=true));
draw(p3,blue);
real x=relpoint(p,0.5).x;
diff --git a/Master/texmf/doc/asymptote/examples/sqrtx01y1.asy b/Master/texmf/doc/asymptote/examples/sqrtx01y1.asy
index c944f43d268..dcb247f572e 100644
--- a/Master/texmf/doc/asymptote/examples/sqrtx01y1.asy
+++ b/Master/texmf/doc/asymptote/examples/sqrtx01y1.asy
@@ -2,6 +2,7 @@ import graph3;
import solids;
size(0,150);
currentprojection=perspective(0,1,10,up=Y);
+currentlight=White;
real f(real x) {return sqrt(x);}
pair F(real x) {return (x,f(x));}
@@ -11,7 +12,7 @@ path p=graph(F,0,1,n=25,operator ..);
path3 p3=path3(p);
revolution a=revolution(p3,Y,0,360);
-draw(surface(a),green);
+draw(surface(a),green,render(compression=Low,merge=true));
draw(p3,blue);
xtick((0,0,0));
diff --git a/Master/texmf/doc/asymptote/examples/stroke3.asy b/Master/texmf/doc/asymptote/examples/stroke3.asy
index 6b386c3a0c9..75824d41dd3 100644
--- a/Master/texmf/doc/asymptote/examples/stroke3.asy
+++ b/Master/texmf/doc/asymptote/examples/stroke3.asy
@@ -1,2 +1,4 @@
import three;
-draw(O--X,red,currentlight);
+size(5cm);
+
+draw(O--X,red+1cm,currentlight);
diff --git a/Master/texmf/doc/asymptote/examples/threeviews.asy b/Master/texmf/doc/asymptote/examples/threeviews.asy
index 05c89e650ca..1bcc36ae8d7 100644
--- a/Master/texmf/doc/asymptote/examples/threeviews.asy
+++ b/Master/texmf/doc/asymptote/examples/threeviews.asy
@@ -8,7 +8,7 @@ settings.render=4;
settings.toolbar=false;
viewportmargin=(1cm,1cm);
-draw(pic,scale3(0.5)*unitsphere,green);
+draw(pic,scale3(0.5)*unitsphere,green,render(compression=Low,merge=true));
draw(pic,Label("$x$",1),O--X);
draw(pic,Label("$y$",1),O--Y);
draw(pic,Label("$z$",1),O--Z);
diff --git a/Master/texmf/doc/asymptote/examples/torus.asy b/Master/texmf/doc/asymptote/examples/torus.asy
index c64c16701ad..f89c82cde8b 100644
--- a/Master/texmf/doc/asymptote/examples/torus.asy
+++ b/Master/texmf/doc/asymptote/examples/torus.asy
@@ -17,4 +17,4 @@ triple f(pair t) {
}
surface s=surface(f,(radians(90),0),(radians(345),2pi),8,8,Spline);
-draw(s,green);
+draw(s,green,render(merge=true));
diff --git a/Master/texmf/doc/asymptote/examples/trefoilknot.asy b/Master/texmf/doc/asymptote/examples/trefoilknot.asy
index 3c5e4aecc5a..8ea5b264b48 100644
--- a/Master/texmf/doc/asymptote/examples/trefoilknot.asy
+++ b/Master/texmf/doc/asymptote/examples/trefoilknot.asy
@@ -20,4 +20,4 @@ for (int i=pens.length-2; i >= 0 ; --i)
path sec=scale(0.25)*texpath("$\pi$")[0];
coloredpath colorsec=coloredpath(sec, pens,colortype=coloredNodes);
-draw(tube(p,colorsec));
+draw(tube(p,colorsec),render(merge=true));
diff --git a/Master/texmf/doc/asymptote/examples/trumpet.asy b/Master/texmf/doc/asymptote/examples/trumpet.asy
index 032f8a7ffd6..842af2b23c2 100644
--- a/Master/texmf/doc/asymptote/examples/trumpet.asy
+++ b/Master/texmf/doc/asymptote/examples/trumpet.asy
@@ -4,9 +4,9 @@ size(200,0);
currentlight=Viewport;
triple f(pair t) {
- return(10*sin(t.y),cos(t.x)*(cos(t.y)+log(abs(tan(t.y/2)))),
- sin(t.x)*(cos(t.y)+log(abs(tan(t.y/2)))));
+ real u=log(abs(tan(t.y/2)));
+ return (10*sin(t.y),cos(t.x)*(cos(t.y)+u),sin(t.x)*(cos(t.y)+u));
}
surface s=surface(f,(0,pi/2),(2pi,pi-0.1),7,15,Spline);
-draw(s,olive);
+draw(s,olive+0.25*white,render(compression=Low,merge=true));
diff --git a/Master/texmf/doc/asymptote/examples/truncatedIcosahedron.asy b/Master/texmf/doc/asymptote/examples/truncatedIcosahedron.asy
index 436c6121b9f..e4d07a49e5b 100644
--- a/Master/texmf/doc/asymptote/examples/truncatedIcosahedron.asy
+++ b/Master/texmf/doc/asymptote/examples/truncatedIcosahedron.asy
@@ -2,6 +2,8 @@ import graph3;
size(200);
+defaultrender.merge=true;
+
real c=(1+sqrt(5))/2;
triple[] z={(c,1,0),(-c,1,0),(-c,-1,0),(c,-1,0)};
diff --git a/Master/texmf/doc/asymptote/examples/twistedtubes.asy b/Master/texmf/doc/asymptote/examples/twistedtubes.asy
index 4d38d86f4df..9121ad6444d 100644
--- a/Master/texmf/doc/asymptote/examples/twistedtubes.asy
+++ b/Master/texmf/doc/asymptote/examples/twistedtubes.asy
@@ -22,6 +22,8 @@ s2.colors(palette(s2.map(f),Rainbow));
s3.colors(palette(s3.map(f),Rainbow));
s4.colors(palette(s4.map(f),Rainbow));
+defaultrender.merge=true;
+
draw(s1);
draw(s2);
draw(s3);
diff --git a/Master/texmf/doc/asymptote/examples/vectorfieldsphere.asy b/Master/texmf/doc/asymptote/examples/vectorfieldsphere.asy
index 2348e09f855..7f1e49057a5 100644
--- a/Master/texmf/doc/asymptote/examples/vectorfieldsphere.asy
+++ b/Master/texmf/doc/asymptote/examples/vectorfieldsphere.asy
@@ -12,6 +12,6 @@ path3 vector(pair z) {
return O--(v.y,v.z,v.x);
}
-add(vectorfield(vector,f,(0,0),(pi,2pi),10,0.25,red));
+add(vectorfield(vector,f,(0,0),(pi,2pi),10,0.25,red,render(merge=true)));
-draw(unitsphere,gray+opacity(0.5));
+draw(unitsphere,gray+opacity(0.5),render(compression=0,merge=true));
diff --git a/Master/texmf/doc/asymptote/examples/washer.asy b/Master/texmf/doc/asymptote/examples/washer.asy
index 083039e55a3..457ae69fb83 100644
--- a/Master/texmf/doc/asymptote/examples/washer.asy
+++ b/Master/texmf/doc/asymptote/examples/washer.asy
@@ -5,8 +5,9 @@ path3[] p=reverse(unitcircle3)^^scale3(0.5)*unitcircle3;
path[] g=reverse(unitcircle)^^scale(0.5)*unitcircle;
triple H=-0.4Z;
-draw(surface(p,planar=true));
-draw(surface(shift(H)*p,planar=true));
+render render=render(merge=true);
+draw(surface(p,planar=true),render);
+draw(surface(shift(H)*p,planar=true),render);
material m=material(lightgray,shininess=1.0);
for(path pp : g)
draw(extrude(pp,H),m);
diff --git a/Master/texmf/doc/asymptote/examples/washermethod.asy b/Master/texmf/doc/asymptote/examples/washermethod.asy
index 032ed6cbc85..9a18b871414 100644
--- a/Master/texmf/doc/asymptote/examples/washermethod.asy
+++ b/Master/texmf/doc/asymptote/examples/washermethod.asy
@@ -18,13 +18,15 @@ path[] p={graph(F,0.7476,1.8043,Spline)--cycle,
pen[] pn=new pen[] {color1,color2,color1};
+render render=render(compression=0);
+
for(int i=0; i < p.length; ++i) {
revolution a=revolution(path3(p[i]),Y,0,alpha);
- draw(surface(a),pn[i]);
+ draw(surface(a),pn[i],render);
surface s=surface(p[i]);
- draw(s,pn[i]);
- draw(rotate(alpha,Y)*s,pn[i]);
+ draw(s,pn[i],render);
+ draw(rotate(alpha,Y)*s,pn[i],render);
}
draw((4/3,0,0)--F3(4/3),dashed);
diff --git a/Master/texmf/doc/asymptote/examples/wedge.asy b/Master/texmf/doc/asymptote/examples/wedge.asy
index 6cf6a58975f..41b4326cf42 100644
--- a/Master/texmf/doc/asymptote/examples/wedge.asy
+++ b/Master/texmf/doc/asymptote/examples/wedge.asy
@@ -10,11 +10,13 @@ draw(shift(-4Z)*scale(4,4,8)*unitcylinder,green+opacity(0.2));
triple F(real x){return (x,sqrt(16-x^2),sqrt((16-x^2)/3));}
path3 p=graph(F,0,4,operator ..);
path3 q=reverse(p)--rotate(180,(0,4,4/sqrt(3)))*p--cycle;
-draw(surface(q--cycle),red);
+
+render render=render(merge=true);
+draw(surface(q--cycle),red,render);
real t=2;
path3 triangle=(t,0,0)--(t,sqrt(16-t^2),0)--F(t)--cycle;
-draw(surface(triangle),blue);
+draw(surface(triangle),blue,render);
xaxis3("$x$",Arrow3,PenMargin3(0,0.25));
yaxis3("$y$",Arrow3,PenMargin3(0,0.25));
diff --git a/Master/texmf/doc/asymptote/examples/xxsq01.asy b/Master/texmf/doc/asymptote/examples/xxsq01.asy
index 11a035f0418..23a38393a94 100644
--- a/Master/texmf/doc/asymptote/examples/xxsq01.asy
+++ b/Master/texmf/doc/asymptote/examples/xxsq01.asy
@@ -14,11 +14,11 @@ path p=graph(F,0,1,n=10,operator ..)--cycle;
path3 p3=path3(p);
revolution a=revolution(p3,X,-alpha,0);
-draw(surface(a),color);
-
+render render=render(compression=0,merge=true);
+draw(surface(a),color,render);
surface s=surface(p);
-draw(s,color);
-draw(rotate(-alpha,X)*s,color);
+draw(s,color,render);
+draw(rotate(-alpha,X)*s,color,render);
draw(p3,blue);
diff --git a/Master/texmf/doc/asymptote/examples/xxsq01x-1.asy b/Master/texmf/doc/asymptote/examples/xxsq01x-1.asy
index 2c4c9ec363c..6d645a49664 100644
--- a/Master/texmf/doc/asymptote/examples/xxsq01x-1.asy
+++ b/Master/texmf/doc/asymptote/examples/xxsq01x-1.asy
@@ -2,7 +2,7 @@ import graph3;
import solids;
size(300);
currentprojection=perspective(0,2,10,up=Y);
-currentlight=(0.25,-0.25,5);
+currentlight=Viewport;
pen color=green;
@@ -14,6 +14,7 @@ path p=graph(F,0,1,n=10,operator ..)--cycle;
path3 p3=path3(p);
revolution a=revolution(-X,p3,Y,0,180);
+render render=render(merge=true);
draw(surface(a),color);
surface s=surface(p);
draw(s,color);
diff --git a/Master/texmf/doc/asymptote/examples/xxsq01y.asy b/Master/texmf/doc/asymptote/examples/xxsq01y.asy
index 53f77d1f9bb..770f4fc22cf 100644
--- a/Master/texmf/doc/asymptote/examples/xxsq01y.asy
+++ b/Master/texmf/doc/asymptote/examples/xxsq01y.asy
@@ -11,11 +11,13 @@ triple F3(real x) {return (x,f(x),0);}
path p=graph(F,0,1,n=10,operator ..)--cycle;
path3 p3=path3(p);
-draw(surface(revolution(p3,Y,0,alpha)),color);
+render render=render(compression=0,merge=true);
+
+draw(surface(revolution(p3,Y,0,alpha)),color,render);
surface s=surface(p);
-draw(s,color);
-draw(rotate(alpha,Y)*s,color);
+draw(s,color,render);
+draw(rotate(alpha,Y)*s,color,render);
draw(p3,blue);
diff --git a/Master/texmf/doc/info/asy-faq.info b/Master/texmf/doc/info/asy-faq.info
index efd60036acc..1664d59845e 100644
--- a/Master/texmf/doc/info/asy-faq.info
+++ b/Master/texmf/doc/info/asy-faq.info
@@ -9,7 +9,7 @@ END-INFO-DIR-ENTRY
File: $prefix.info, Node: Top, Next: Question 1.1, Up: (dir)
ASYMPTOTE FREQUENTLY ASKED QUESTIONS
- 06 Jun 2010
+ 14 Jun 2010
This is the list of Frequently Asked Questions about Asymptote (asy).
diff --git a/Master/texmf/doc/info/asymptote.info b/Master/texmf/doc/info/asymptote.info
index b8497480d4c..481694a9d08 100644
--- a/Master/texmf/doc/info/asymptote.info
+++ b/Master/texmf/doc/info/asymptote.info
@@ -1,7 +1,7 @@
This is asymptote.info, produced by makeinfo version 4.13 from
../asymptote.texi.
-This file documents `Asymptote', version 1.96.
+This file documents `Asymptote', version 1.98.
`http://asymptote.sourceforge.net'
@@ -23,7 +23,7 @@ File: asymptote.info, Node: Top, Next: Description, Up: (dir)
Asymptote
*********
-This file documents `Asymptote', version 1.96.
+This file documents `Asymptote', version 1.98.
`http://asymptote.sourceforge.net'
@@ -3955,10 +3955,9 @@ of type `T[]'.
arrays).
`T[] array(int n, T value, int depth=intMax)'
- returns an array consisting of `n' copies of value. By default, if
- `value' is itself an array, a deep copy of that array is made for
- each entry in the new array. If `depth' is specified, this deep
- copying only recurses to the number of levels specified.
+ returns an array consisting of `n' deep copies of a 0, 1, or 2
+ dimensional array `T value'. If `depth' is specified, this deep
+ copying recurses to no more than the number of levels specified.
`int[] sequence(int n)'
if `n >= 1' returns the array `{0,1,...,n-1}' (otherwise returns a
@@ -6769,7 +6768,7 @@ There are four choices for viewing 3D `Asymptote' output:
(slower) indirect rendering.
3. Embed the 3D PRC format in a PDF file and view the resulting PDF
- file with version `8.0' or later of `Adobe Reader'. In addition
+ file with version `9.0' or later of `Adobe Reader'. In addition
to the default `settings.prc=true', this requires
`settings.outformat="pdf"', which can be specified by the command
line option `-f pdf', put in the `Asymptote' configuration file
@@ -7313,7 +7312,7 @@ xaxis3(Label("$x$"),red,Arrow3);
yaxis3(Label("$y$"),red,Arrow3);
zaxis3(XYZero(extend=true),red,Arrow3);
-draw(s,lightgray,meshpen=black+thick(),nolight);
+draw(s,lightgray,meshpen=black+thick(),nolight,render(merge=true));
label("$O$",O,-Z+Y,red);
@@ -8330,9 +8329,9 @@ which `MetaPost' is based).
The authors of `Asymptote' are Andy Hammerlindl, John Bowman, and
Tom Prince. Sean Healy designed the `Asymptote' logo. Other
-contributors include Radoslav Marinov, Orest Shardt, Chris Savage,
-Philippe Ivaldi, Olivier Guibe', Jacques Pienaar, Mark Henning, Steve
-Melenchuk, Martin Wiebusch, and Stefan Knorr.
+contributors include Michail Vidiassov, Radoslav Marinov, Orest Shardt,
+Chris Savage, Philippe Ivaldi, Olivier Guibe', Jacques Pienaar, Mark
+Henning, Steve Melenchuk, Martin Wiebusch, and Stefan Knorr.

File: asymptote.info, Node: Index, Prev: Credits, Up: Top
@@ -8443,11 +8442,11 @@ Index
(line 48)
* Airy: Mathematical functions.
(line 48)
-* alias <1>: Arrays. (line 183)
+* alias <1>: Arrays. (line 182)
* alias: Structures. (line 52)
* align: Options. (line 166)
* Align: label. (line 12)
-* all: Arrays. (line 331)
+* all: Arrays. (line 330)
* Allow: Pens. (line 327)
* AND: Arithmetic & logical.
(line 80)
@@ -8641,15 +8640,15 @@ Index
* colorless: Pens. (line 54)
* colors: Pens. (line 51)
* comma: Files. (line 58)
-* comma-separated-value mode: Arrays. (line 364)
+* comma-separated-value mode: Arrays. (line 363)
* command-line options <1>: Options. (line 6)
* command-line options: Configuring. (line 83)
* comment character: Files. (line 15)
* compass directions: Tutorial. (line 104)
* Compiling from UNIX source: Compiling from UNIX source.
(line 6)
-* complement: Arrays. (line 150)
-* concat: Arrays. (line 179)
+* complement: Arrays. (line 149)
+* concat: Arrays. (line 178)
* conditional <1>: Arithmetic & logical.
(line 73)
* conditional: Programming. (line 8)
@@ -8673,7 +8672,7 @@ Index
* convert: Configuring. (line 67)
* convertOptions: Options. (line 128)
* Coons shading: fill. (line 74)
-* copy: Arrays. (line 170)
+* copy: Arrays. (line 169)
* Cos: Mathematical functions.
(line 20)
* cos: Mathematical functions.
@@ -8687,10 +8686,10 @@ Index
* cross: Data types. (line 167)
* crossframe: markers. (line 23)
* crosshatch: Pens. (line 267)
-* csv: Arrays. (line 364)
+* csv: Arrays. (line 363)
* CTZ: Arithmetic & logical.
(line 80)
-* cubicroots: Arrays. (line 320)
+* cubicroots: Arrays. (line 319)
* curl <1>: three. (line 6)
* curl: Bezier curves. (line 63)
* curlSpecifier: Paths and guides. (line 391)
@@ -8731,9 +8730,9 @@ Index
* delete <1>: Arrays. (line 39)
* delete: Files. (line 145)
* description: Description. (line 6)
-* diagonal: Arrays. (line 305)
+* diagonal: Arrays. (line 304)
* diamond: flowchart. (line 57)
-* dimension: Arrays. (line 369)
+* dimension: Arrays. (line 368)
* dir <1>: three. (line 502)
* dir <2>: Paths and guides. (line 98)
* dir <3>: Data types. (line 85)
@@ -8744,7 +8743,7 @@ Index
* dirtime: Paths and guides. (line 152)
* display: Configuring. (line 67)
* do: Programming. (line 29)
-* dot <1>: Arrays. (line 261)
+* dot <1>: Arrays. (line 260)
* dot <2>: Data types. (line 98)
* dot: draw. (line 83)
* DotMargin: draw. (line 42)
@@ -8796,9 +8795,9 @@ Index
* EndPoint: label. (line 57)
* envelope: Frames and pictures. (line 22)
* environment variables: Configuring. (line 87)
-* eof <1>: Arrays. (line 346)
+* eof <1>: Arrays. (line 345)
* eof: Files. (line 88)
-* eol <1>: Arrays. (line 346)
+* eol <1>: Arrays. (line 345)
* eol: Files. (line 88)
* EPS <1>: Options. (line 141)
* EPS: label. (line 80)
@@ -8843,7 +8842,7 @@ Index
(line 15)
* feynman: feynman. (line 6)
* fft <1>: math. (line 26)
-* fft: Arrays. (line 248)
+* fft: Arrays. (line 247)
* FFTW: Compiling from UNIX source.
(line 58)
* file <1>: Debugger. (line 45)
@@ -8857,7 +8856,7 @@ Index
* FillDraw: draw. (line 26)
* filloutside: fill. (line 27)
* fillrule: Pens. (line 152)
-* find <1>: Arrays. (line 159)
+* find <1>: Arrays. (line 158)
* find: Data types. (line 224)
* firstcut: Paths and guides. (line 247)
* fit: Frames and pictures. (line 103)
@@ -8956,7 +8955,7 @@ Index
* i_scaled: Mathematical functions.
(line 48)
* iconic: three. (line 210)
-* identity <1>: Arrays. (line 302)
+* identity <1>: Arrays. (line 301)
* identity <2>: Mathematical functions.
(line 6)
* identity: Transforms. (line 24)
@@ -9009,7 +9008,7 @@ Index
* InTicks: graph3. (line 34)
* intMax: Data types. (line 28)
* intMin: Data types. (line 28)
-* inverse <1>: Arrays. (line 308)
+* inverse <1>: Arrays. (line 307)
* inverse: Transforms. (line 16)
* invert: three. (line 422)
* invisible: Pens. (line 39)
@@ -9068,8 +9067,8 @@ Index
* libsigsegv <1>: Help. (line 33)
* libsigsegv: Functions. (line 88)
* limits: graph. (line 636)
-* line: Arrays. (line 346)
-* line mode: Arrays. (line 346)
+* line: Arrays. (line 345)
+* line mode: Arrays. (line 345)
* Linear: graph. (line 682)
* linecap: Pens. (line 129)
* linejoin: Pens. (line 138)
@@ -9096,7 +9095,7 @@ Index
* MacOS X binary distributions: MacOS X binary distributions.
(line 6)
* makepen: Pens. (line 300)
-* map: Arrays. (line 141)
+* map: Arrays. (line 140)
* Margin: draw. (line 42)
* Margin3: three. (line 559)
* margins: three. (line 262)
@@ -9112,7 +9111,7 @@ Index
* mathematical functions: Mathematical functions.
(line 6)
* max <1>: three. (line 502)
-* max <2>: Arrays. (line 227)
+* max <2>: Arrays. (line 226)
* max <3>: Frames and pictures. (line 7)
* max: Paths and guides. (line 264)
* maxbound: Data types. (line 104)
@@ -9133,7 +9132,7 @@ Index
* midpoint: Paths and guides. (line 166)
* MidPoint: label. (line 57)
* min <1>: three. (line 502)
-* min <2>: Arrays. (line 220)
+* min <2>: Arrays. (line 219)
* min <3>: Frames and pictures. (line 7)
* min: Paths and guides. (line 260)
* minbound: Data types. (line 101)
@@ -9222,7 +9221,7 @@ Index
* packing: Rest arguments. (line 30)
* pair <1>: Data types. (line 41)
* pair: Tutorial. (line 49)
-* pairs: Arrays. (line 244)
+* pairs: Arrays. (line 243)
* paperheight: Configuring. (line 61)
* papertype: Configuring. (line 61)
* paperwidth: Configuring. (line 61)
@@ -9294,7 +9293,7 @@ Index
* public: Structures. (line 6)
* push: Arrays. (line 39)
* Python usage: Interactive mode. (line 80)
-* quadraticroots: Arrays. (line 311)
+* quadraticroots: Arrays. (line 310)
* quarticroots: math. (line 22)
* quit <1>: Debugger. (line 54)
* quit <2>: Interactive mode. (line 59)
@@ -9314,9 +9313,9 @@ Index
(line 39)
* randMax: Mathematical functions.
(line 39)
-* read: Arrays. (line 387)
+* read: Arrays. (line 386)
* reading: Files. (line 11)
-* reading string arrays: Arrays. (line 356)
+* reading string arrays: Arrays. (line 355)
* readline: Files. (line 130)
* real: Data types. (line 33)
* realDigits: Data types. (line 33)
@@ -9342,7 +9341,7 @@ Index
* restricted: Structures. (line 6)
* return: Debugger. (line 48)
* reverse <1>: three. (line 502)
-* reverse <2>: Arrays. (line 146)
+* reverse <2>: Arrays. (line 145)
* reverse <3>: Paths and guides. (line 169)
* reverse: Data types. (line 248)
* rewind: Files. (line 88)
@@ -9381,7 +9380,7 @@ Index
* scaled graph: graph. (line 663)
* scientific graph: graph. (line 396)
* scroll: Files. (line 104)
-* search: Arrays. (line 164)
+* search: Arrays. (line 163)
* search paths: Search paths. (line 6)
* Seascape: Frames and pictures. (line 100)
* secondary axis: graph. (line 813)
@@ -9394,7 +9393,7 @@ Index
* segmentation fault: Help. (line 33)
* self operators: Self & prefix operators.
(line 6)
-* sequence: Arrays. (line 128)
+* sequence: Arrays. (line 127)
* settings <1>: Options. (line 113)
* settings: Configuring. (line 23)
* sgn: Mathematical functions.
@@ -9440,8 +9439,8 @@ Index
* slopefield: slopefield. (line 6)
* solid: Pens. (line 95)
* solids: solids. (line 9)
-* solve: Arrays. (line 280)
-* sort: Arrays. (line 186)
+* solve: Arrays. (line 279)
+* sort: Arrays. (line 185)
* Spline <1>: graph3. (line 100)
* Spline: graph. (line 34)
* split: Data types. (line 261)
@@ -9474,7 +9473,7 @@ Index
* subpictures: Frames and pictures. (line 103)
* substr: Data types. (line 244)
* Subversion: Subversion. (line 6)
-* sum: Arrays. (line 215)
+* sum: Arrays. (line 214)
* superpath: Tutorial. (line 132)
* Suppress: Pens. (line 331)
* SuppressQuiet: Pens. (line 335)
@@ -9538,12 +9537,12 @@ Index
* transform: Transforms. (line 6)
* transform3: three. (line 432)
* transparency: Pens. (line 222)
-* transpose: Arrays. (line 207)
+* transpose: Arrays. (line 206)
* tree: tree. (line 9)
* trembling: trembling. (line 6)
* triangle: geometry. (line 6)
* triangulate: contour. (line 157)
-* tridiagonal: Arrays. (line 268)
+* tridiagonal: Arrays. (line 267)
* trigonometric integrals: Mathematical functions.
(line 48)
* triple: Data types. (line 108)
@@ -9559,7 +9558,7 @@ Index
* unfill: fill. (line 106)
* UnFill: draw. (line 26)
* unicode: unicode. (line 6)
-* uniform: Arrays. (line 155)
+* uniform: Arrays. (line 154)
* Uninstall: Uninstall. (line 6)
* unique: math. (line 64)
* unit: Data types. (line 78)
@@ -9590,7 +9589,7 @@ Index
(line 6)
* vectorfield: graph. (line 975)
* vectorfield3: graph3. (line 159)
-* vectorization: Arrays. (line 325)
+* vectorization: Arrays. (line 324)
* verbatim: Frames and pictures. (line 271)
* vertex-dependent colors: three. (line 81)
* Vertical: flowchart. (line 81)
@@ -9607,11 +9606,11 @@ Index
* Wheel: palette. (line 22)
* wheel mouse: GUI. (line 6)
* while: Programming. (line 29)
-* white-space string delimiter mode: Arrays. (line 356)
+* white-space string delimiter mode: Arrays. (line 355)
* width: LaTeX usage. (line 31)
* windingnumber: Paths and guides. (line 268)
-* word: Arrays. (line 356)
-* write <1>: Arrays. (line 396)
+* word: Arrays. (line 355)
+* write <1>: Arrays. (line 395)
* write: Files. (line 50)
* X: three. (line 274)
* xasy: GUI. (line 6)
@@ -9744,80 +9743,80 @@ Node: Named arguments147188
Node: Rest arguments149350
Node: Mathematical functions152160
Node: Arrays156767
-Ref: sort163720
-Ref: tridiagonal166130
-Ref: solve167358
-Node: Slices171551
-Node: Casts175441
-Node: Import177406
-Node: Static182633
-Node: LaTeX usage185527
-Node: Base modules191001
-Node: plain193501
-Node: simplex194153
-Node: math194426
-Node: interpolate197117
-Node: geometry197396
-Node: trembling197990
-Node: stats198341
-Node: patterns198601
-Node: markers198837
-Node: tree200620
-Node: binarytree200808
-Node: drawtree201397
-Node: syzygy201601
-Node: feynman201875
-Node: roundedpath202150
-Node: animation202433
-Ref: animate202850
-Node: embed203989
-Node: slide205778
-Node: MetaPost206118
-Node: unicode206834
-Node: latin1207722
-Node: babel208090
-Node: labelpath208319
-Node: labelpath3209139
-Node: annotate209450
-Node: CAD209921
-Node: graph210231
-Ref: ticks217360
-Ref: pathmarkers230639
-Ref: marker231104
-Ref: markuniform231455
-Ref: errorbars233246
-Ref: automatic scaling237302
-Node: palette247948
-Ref: images248066
-Ref: image252237
-Ref: logimage252715
-Ref: penimage253521
-Node: three253965
-Ref: PostScript3D278507
-Node: obj280199
-Node: graph3280451
-Ref: GaussianSurface285576
-Node: grid3286661
-Node: solids287401
-Node: tube288349
-Node: flowchart290584
-Node: contour295153
-Node: contour3300278
-Node: slopefield300585
-Node: ode302022
-Node: Options302282
-Ref: configuration file308078
-Ref: settings308078
-Ref: convert309279
-Node: Interactive mode312246
-Ref: history314399
-Node: GUI315704
-Node: GUI installation316207
-Node: GUI usage317337
-Node: PostScript to Asymptote318240
-Node: Help318996
-Node: Debugger320732
-Node: Credits322517
-Node: Index323430
+Ref: sort163651
+Ref: tridiagonal166061
+Ref: solve167289
+Node: Slices171482
+Node: Casts175372
+Node: Import177337
+Node: Static182564
+Node: LaTeX usage185458
+Node: Base modules190932
+Node: plain193432
+Node: simplex194084
+Node: math194357
+Node: interpolate197048
+Node: geometry197327
+Node: trembling197921
+Node: stats198272
+Node: patterns198532
+Node: markers198768
+Node: tree200551
+Node: binarytree200739
+Node: drawtree201328
+Node: syzygy201532
+Node: feynman201806
+Node: roundedpath202081
+Node: animation202364
+Ref: animate202781
+Node: embed203920
+Node: slide205709
+Node: MetaPost206049
+Node: unicode206765
+Node: latin1207653
+Node: babel208021
+Node: labelpath208250
+Node: labelpath3209070
+Node: annotate209381
+Node: CAD209852
+Node: graph210162
+Ref: ticks217291
+Ref: pathmarkers230570
+Ref: marker231035
+Ref: markuniform231386
+Ref: errorbars233177
+Ref: automatic scaling237233
+Node: palette247879
+Ref: images247997
+Ref: image252168
+Ref: logimage252646
+Ref: penimage253452
+Node: three253896
+Ref: PostScript3D278438
+Node: obj280130
+Node: graph3280382
+Ref: GaussianSurface285507
+Node: grid3286611
+Node: solids287351
+Node: tube288299
+Node: flowchart290534
+Node: contour295103
+Node: contour3300228
+Node: slopefield300535
+Node: ode301972
+Node: Options302232
+Ref: configuration file308028
+Ref: settings308028
+Ref: convert309229
+Node: Interactive mode312196
+Ref: history314349
+Node: GUI315654
+Node: GUI installation316157
+Node: GUI usage317287
+Node: PostScript to Asymptote318190
+Node: Help318946
+Node: Debugger320682
+Node: Credits322467
+Node: Index323399

End Tag Table
diff --git a/Master/texmf/doc/man/man1/asy.man1.pdf b/Master/texmf/doc/man/man1/asy.man1.pdf
index 828913944e0..a86ed83a3ab 100644
--- a/Master/texmf/doc/man/man1/asy.man1.pdf
+++ b/Master/texmf/doc/man/man1/asy.man1.pdf
Binary files differ
diff --git a/Master/tlpkg/asymptote/asy.exe b/Master/tlpkg/asymptote/asy.exe
index c72517c1b55..ec8e0b97035 100755
--- a/Master/tlpkg/asymptote/asy.exe
+++ b/Master/tlpkg/asymptote/asy.exe
Binary files differ
diff --git a/Master/tlpkg/bin/tl-update-asy b/Master/tlpkg/bin/tl-update-asy
index 92512e79b8e..0f73e2cab4f 100755
--- a/Master/tlpkg/bin/tl-update-asy
+++ b/Master/tlpkg/bin/tl-update-asy
@@ -14,14 +14,14 @@
test "x$1" = x--build || exit 1
-ver=1.94 # the new version, that is.
+ver=... # the newly-released version
#
if false && $update_sources_from_ctan; then
# this part is about copying the sources from CTAN to TL.
cd $B/source/utils/
edit README for asymptote$ver
- (cd asymptote && make distclean && sat) # be sure no dregs
+ (cd asymptote && make distclean; sup && sat) # be sure no dregs
\cp -arf /home/ftp/tex-archive/graphics/asymptote/ .
cd asymptote