diff options
author | Carl Hetherington <carl@carlh.net> | 2011-12-29 22:14:15 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2011-12-29 22:14:15 +0000 |
commit | b1775149307a157444c516693ad6b98a404ef1b2 (patch) | |
tree | ffdf04d8396cf53d5378c073a8d249150d5282eb /doc | |
parent | cabb76cce6203d34299136371078bd20b6abe1e3 (diff) |
Revert internals of the last layering-related commit, and go back a slightly-cleaned-up version of how it was before. Remove all layering modes; only option now is add-is-higher. Move-add-higher could easily be re-added if anyone uses it.
git-svn-id: svn://localhost/ardour2/branches/3.0@11111 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'doc')
-rw-r--r-- | doc/layering/build.sh | 3 | ||||
-rw-r--r-- | doc/layering/explicit-layering1.svg | 322 | ||||
-rw-r--r-- | doc/layering/explicit-layering2.svg | 322 | ||||
-rw-r--r-- | doc/layering/layering-order-1.svg | 201 | ||||
-rw-r--r-- | doc/layering/layering-order-2.svg | 240 | ||||
-rw-r--r-- | doc/layering/layering.tex | 206 | ||||
-rw-r--r-- | doc/layering/tricky-explicit-layering.svg | 323 |
7 files changed, 573 insertions, 1044 deletions
diff --git a/doc/layering/build.sh b/doc/layering/build.sh index 5abaaa5721..ad8d95e7ba 100644 --- a/doc/layering/build.sh +++ b/doc/layering/build.sh @@ -1,6 +1,7 @@ #!/bin/sh -for f in basic-layering explicit-layering1 explicit-layering2 tricky-explicit-layering; do +for f in basic-layering layering-order-1 layering-order-2; do + echo "$f" inkscape -z --export-area-drawing -f $f.svg --export-pdf $f.pdf done diff --git a/doc/layering/explicit-layering1.svg b/doc/layering/explicit-layering1.svg deleted file mode 100644 index 2a5c921ce7..0000000000 --- a/doc/layering/explicit-layering1.svg +++ /dev/null @@ -1,322 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="744.09448819" - height="1052.3622047" - id="svg2" - version="1.1" - inkscape:version="0.47 r22583" - sodipodi:docname="explicit-layering.svg"> - <defs - id="defs4"> - <marker - inkscape:stockid="Arrow2Lend" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow2Lend" - style="overflow:visible;"> - <path - id="path3618" - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="scale(1.1) rotate(180) translate(1,0)" /> - </marker> - <inkscape:perspective - sodipodi:type="inkscape:persp3d" - inkscape:vp_x="0 : 526.18109 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_z="744.09448 : 526.18109 : 1" - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" - id="perspective10" /> - <inkscape:perspective - id="perspective4058" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4089" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4120" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4151" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4365" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4386" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <marker - inkscape:stockid="Arrow2Lend" - orient="auto" - refY="0" - refX="0" - id="Arrow2Lend-6" - style="overflow:visible"> - <path - id="path3618-4" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" - transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> - </marker> - <inkscape:perspective - id="perspective4449" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <marker - inkscape:stockid="Arrow2Lend" - orient="auto" - refY="0" - refX="0" - id="Arrow2Lend-5" - style="overflow:visible"> - <path - id="path3618-1" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" - transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> - </marker> - <inkscape:perspective - id="perspective4668" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4696" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4696-1" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="2.633643" - inkscape:cx="191.36241" - inkscape:cy="670.78783" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="true" - inkscape:window-width="1280" - inkscape:window-height="949" - inkscape:window-x="0" - inkscape:window-y="25" - inkscape:window-maximized="1"> - <inkscape:grid - type="xygrid" - id="grid2816" - empspacing="5" - visible="true" - enabled="true" - snapvisiblegridlinesonly="true" - units="mm" - spacingx="5mm" - spacingy="5mm" /> - </sodipodi:namedview> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title></dc:title> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1"> - <path - style="fill:none;stroke:#000000;stroke-width:0.62500000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend);color:#000000;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 88.582677,432.28344 159.448823,0" - id="path3592" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="255.20872" - y="435.23877" - id="text4042"><tspan - sodipodi:role="line" - id="tspan4044" - x="255.20872" - y="435.23877">time</tspan></text> - <rect - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - id="rect2818" - width="106.29921" - height="35.433071" - x="88.582687" - y="308.2677" /> - <rect - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - id="rect2818-2" - width="88.582687" - height="35.433071" - x="124.01574" - y="343.70078" /> - <rect - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - id="rect2818-2-2" - width="70.86615" - height="35.433071" - x="177.16534" - y="379.13385" /> - <rect - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - id="rect2818-2-2-4" - width="35.433086" - height="35.433071" - x="265.74802" - y="379.13385" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="137.33429" - y="330.26825" - id="text4320"><tspan - sodipodi:role="line" - id="tspan4322" - x="137.33429" - y="330.26825">A</tspan></text> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="164.22108" - y="365.51532" - id="text4324"><tspan - sodipodi:role="line" - id="tspan4326" - x="164.22108" - y="365.51532">B</tspan></text> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="208.36243" - y="400.94839" - id="text4328"><tspan - sodipodi:role="line" - id="tspan4330" - x="208.36243" - y="400.94839">C</tspan></text> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="279.05457" - y="400.94839" - id="text4332"><tspan - sodipodi:role="line" - id="tspan4334" - x="279.05457" - y="400.94839">D</tspan></text> - <path - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow2Lend);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 318.89764,432.28344 0,-124.01575" - id="path3592-8" - sodipodi:nodetypes="cc" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="307.30875" - y="301.75519" - id="text4406"><tspan - sodipodi:role="line" - id="tspan4408" - x="307.30875" - y="301.75519">layer</tspan></text> - <path - style="fill:none;stroke:#000000;stroke-width:0.62500000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;color:#000000;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 311.84462,397.273 13.54507,0" - id="path4439" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="328.09393" - y="401.58279" - id="text4656"><tspan - sodipodi:role="line" - id="tspan4658" - x="328.09393" - y="401.58279">0</tspan></text> - <path - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 312.32197,361.87109 13.54507,0" - id="path4439-1" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="328.02194" - y="366.18088" - id="text4656-0-0"><tspan - sodipodi:role="line" - id="tspan4658-6-3" - x="328.02194" - y="366.18088">1</tspan></text> - <path - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 311.84462,325.98423 13.54507,0" - id="path4439-1-6" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="328.09393" - y="329.49646" - id="text4742"><tspan - sodipodi:role="line" - id="tspan4744" - x="328.09393" - y="329.49646">2</tspan></text> - </g> -</svg> diff --git a/doc/layering/explicit-layering2.svg b/doc/layering/explicit-layering2.svg deleted file mode 100644 index 4f71a40eb9..0000000000 --- a/doc/layering/explicit-layering2.svg +++ /dev/null @@ -1,322 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="744.09448819" - height="1052.3622047" - id="svg2" - version="1.1" - inkscape:version="0.47 r22583" - sodipodi:docname="explicit-layering2.svg"> - <defs - id="defs4"> - <marker - inkscape:stockid="Arrow2Lend" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow2Lend" - style="overflow:visible;"> - <path - id="path3618" - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="scale(1.1) rotate(180) translate(1,0)" /> - </marker> - <inkscape:perspective - sodipodi:type="inkscape:persp3d" - inkscape:vp_x="0 : 526.18109 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_z="744.09448 : 526.18109 : 1" - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" - id="perspective10" /> - <inkscape:perspective - id="perspective4058" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4089" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4120" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4151" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4365" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4386" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <marker - inkscape:stockid="Arrow2Lend" - orient="auto" - refY="0" - refX="0" - id="Arrow2Lend-6" - style="overflow:visible"> - <path - id="path3618-4" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" - transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> - </marker> - <inkscape:perspective - id="perspective4449" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <marker - inkscape:stockid="Arrow2Lend" - orient="auto" - refY="0" - refX="0" - id="Arrow2Lend-5" - style="overflow:visible"> - <path - id="path3618-1" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" - transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> - </marker> - <inkscape:perspective - id="perspective4668" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4696" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4696-1" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="2.633643" - inkscape:cx="191.36241" - inkscape:cy="670.02843" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="true" - inkscape:window-width="1280" - inkscape:window-height="949" - inkscape:window-x="0" - inkscape:window-y="25" - inkscape:window-maximized="1"> - <inkscape:grid - type="xygrid" - id="grid2816" - empspacing="5" - visible="true" - enabled="true" - snapvisiblegridlinesonly="true" - units="mm" - spacingx="5mm" - spacingy="5mm" /> - </sodipodi:namedview> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title /> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1"> - <path - style="fill:none;stroke:#000000;stroke-width:0.62500000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend);color:#000000;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 88.582677,432.28344 159.448823,0" - id="path3592" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="255.20872" - y="435.23877" - id="text4042"><tspan - sodipodi:role="line" - id="tspan4044" - x="255.20872" - y="435.23877">time</tspan></text> - <rect - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - id="rect2818" - width="106.29921" - height="35.433071" - x="88.58268" - y="343.70078" /> - <rect - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - id="rect2818-2" - width="88.582687" - height="35.433071" - x="124.01575" - y="379.13385" /> - <rect - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - id="rect2818-2-2" - width="70.86615" - height="35.433071" - x="177.16534" - y="308.2677" /> - <rect - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - id="rect2818-2-2-4" - width="35.433086" - height="35.433071" - x="265.74802" - y="379.13385" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="137.33429" - y="365.70132" - id="text4320"><tspan - sodipodi:role="line" - id="tspan4322" - x="137.33429" - y="365.70132">A</tspan></text> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="164.22108" - y="400.94839" - id="text4324"><tspan - sodipodi:role="line" - id="tspan4326" - x="164.22108" - y="400.94839">B</tspan></text> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="208.36243" - y="330.08224" - id="text4328"><tspan - sodipodi:role="line" - id="tspan4330" - x="208.36243" - y="330.08224">C</tspan></text> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="279.05457" - y="400.94839" - id="text4332"><tspan - sodipodi:role="line" - id="tspan4334" - x="279.05457" - y="400.94839">D</tspan></text> - <path - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow2Lend);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 318.89764,432.28344 0,-124.01575" - id="path3592-8" - sodipodi:nodetypes="cc" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="307.30875" - y="301.75519" - id="text4406"><tspan - sodipodi:role="line" - id="tspan4408" - x="307.30875" - y="301.75519">layer</tspan></text> - <path - style="fill:none;stroke:#000000;stroke-width:0.62500000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;color:#000000;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 311.84462,397.273 13.54507,0" - id="path4439" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="328.09393" - y="401.58279" - id="text4656"><tspan - sodipodi:role="line" - id="tspan4658" - x="328.09393" - y="401.58279">0</tspan></text> - <path - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 312.32197,361.87109 13.54507,0" - id="path4439-1" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="328.02194" - y="366.18088" - id="text4656-0-0"><tspan - sodipodi:role="line" - id="tspan4658-6-3" - x="328.02194" - y="366.18088">1</tspan></text> - <path - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 311.84462,325.98423 13.54507,0" - id="path4439-1-6" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="328.09393" - y="329.49646" - id="text4742"><tspan - sodipodi:role="line" - id="tspan4744" - x="328.09393" - y="329.49646">2</tspan></text> - </g> -</svg> diff --git a/doc/layering/layering-order-1.svg b/doc/layering/layering-order-1.svg new file mode 100644 index 0000000000..25e329c0f4 --- /dev/null +++ b/doc/layering/layering-order-1.svg @@ -0,0 +1,201 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="744.09448819" + height="1052.3622047" + id="svg2" + version="1.1" + inkscape:version="0.48.2 r9819" + sodipodi:docname="New document 1"> + <defs + id="defs4"> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow2Mend" + style="overflow:visible;"> + <path + id="path3913" + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " + transform="scale(0.6) rotate(180) translate(0,0)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="2.4179431" + inkscape:cx="170.5" + inkscape:cy="941" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1280" + inkscape:window-height="949" + inkscape:window-x="0" + inkscape:window-y="25" + inkscape:window-maximized="1" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <rect + style="color:#000000;fill:none;stroke:#00ff00;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect2985" + width="72.585144" + height="29.6516" + x="78.1614" + y="21.362185" /> + <rect + style="color:#000000;fill:none;stroke:#ff0003;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect2985-7" + width="72.585144" + height="29.6516" + x="117.60985" + y="82.473022" /> + <rect + style="color:#000000;fill:none;stroke:#0054ff;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect2985-7-4" + width="72.585144" + height="29.6516" + x="200.92497" + y="51.917603" /> + <rect + style="color:#000000;fill:none;stroke:#fff400;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect2985-7-0" + width="72.585144" + height="29.6516" + x="42.5" + y="113.02844" /> + <rect + style="color:#000000;fill:none;stroke:#ff00de;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect2985-7-0-5" + width="72.585144" + height="29.6516" + x="123.29042" + y="143.58386" /> + <rect + style="color:#000000;fill:none;stroke:#ff7100;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect2985-7-0-5-5" + width="72.585144" + height="29.6516" + x="221.75375" + y="174.13928" /> + <text + xml:space="preserve" + style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" + x="255.11232" + y="193.33777" + id="text3857" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3859" + x="255.11232" + y="193.33777">0</tspan></text> + <text + xml:space="preserve" + style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" + x="156.577" + y="162.39966" + id="text3861" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3863" + x="156.577" + y="162.39966">1</tspan></text> + <text + xml:space="preserve" + style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" + x="75.858574" + y="131.84424" + id="text3865" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3867" + x="75.858574" + y="131.84424">2</tspan></text> + <text + xml:space="preserve" + style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" + x="150.96841" + y="101.16282" + id="text3869" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3871" + x="150.96841" + y="101.16282">3</tspan></text> + <text + xml:space="preserve" + style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" + x="234.28354" + y="70.793404" + id="text3873" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3875" + x="234.28354" + y="70.793404">4</tspan></text> + <text + xml:space="preserve" + style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" + x="111.51997" + y="40.045986" + id="text3877" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3879" + x="111.51997" + y="40.045986">5</tspan></text> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" + d="m 324.24253,185.09612 0,-149.300453" + id="path3881" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" + x="330.85974" + y="98.245438" + id="text4327" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan4329" + x="330.85974" + y="98.245438">increasing</tspan><tspan + sodipodi:role="line" + x="330.85974" + y="113.24544" + id="tspan4331">layering</tspan><tspan + sodipodi:role="line" + x="330.85974" + y="128.24544" + id="tspan4333">order</tspan></text> + </g> +</svg> diff --git a/doc/layering/layering-order-2.svg b/doc/layering/layering-order-2.svg new file mode 100644 index 0000000000..b4164444ba --- /dev/null +++ b/doc/layering/layering-order-2.svg @@ -0,0 +1,240 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="744.09448819" + height="1052.3622047" + id="svg2" + version="1.1" + inkscape:version="0.48.2 r9819" + sodipodi:docname="layer-order-2.svg"> + <defs + id="defs4"> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow2Mend" + style="overflow:visible;"> + <path + id="path3913" + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " + transform="scale(0.6) rotate(180) translate(0,0)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="2.4179431" + inkscape:cx="170.5" + inkscape:cy="941" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1280" + inkscape:window-height="949" + inkscape:window-x="0" + inkscape:window-y="25" + inkscape:window-maximized="1" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <g + id="g4432"> + <g + id="g4403"> + <rect + style="color:#000000;fill:none;stroke:#ff7100;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect2985-7-0-5-5" + width="72.585144" + height="29.6516" + x="221.75375" + y="174.13928" /> + <text + xml:space="preserve" + style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" + x="255.11232" + y="193.33777" + id="text3857" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3859" + x="255.11232" + y="193.33777">0</tspan></text> + </g> + <g + transform="translate(0,30.55542)" + id="g4398"> + <rect + style="color:#000000;fill:none;stroke:#ff00de;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect2985-7-0-5" + width="72.585144" + height="29.6516" + x="123.29042" + y="143.58386" /> + <text + xml:space="preserve" + style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" + x="156.577" + y="162.39966" + id="text3861" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3863" + x="156.577" + y="162.39966">1</tspan></text> + </g> + <g + transform="translate(0,61.11084)" + id="g4393"> + <rect + style="color:#000000;fill:none;stroke:#fff400;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect2985-7-0" + width="72.585144" + height="29.6516" + x="42.5" + y="113.02844" /> + <text + xml:space="preserve" + style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" + x="75.858574" + y="131.84424" + id="text3865" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3867" + x="75.858574" + y="131.84424">2</tspan></text> + </g> + </g> + <g + id="g4421" + transform="translate(0,0.38900757)"> + <g + transform="translate(0,55.00543)" + id="g4388"> + <rect + style="color:#000000;fill:none;stroke:#ff0003;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect2985-7" + width="72.585144" + height="29.6516" + x="117.60985" + y="82.473022" /> + <text + xml:space="preserve" + style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" + x="150.96841" + y="101.16282" + id="text3869" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3871" + x="150.96841" + y="101.16282">3</tspan></text> + </g> + <g + transform="translate(0,85.56085)" + id="g4382"> + <rect + style="color:#000000;fill:none;stroke:#0054ff;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect2985-7-4" + width="72.585144" + height="29.6516" + x="200.92497" + y="51.917603" /> + <g + id="g4378"> + <text + sodipodi:linespacing="125%" + id="text3873" + y="70.793404" + x="234.28354" + style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" + xml:space="preserve"><tspan + y="70.793404" + x="234.28354" + id="tspan3875" + sodipodi:role="line">4</tspan></text> + </g> + </g> + </g> + <g + id="g4446"> + <g + transform="translate(0,80.233484)" + id="g4414"> + <g + id="g4408"> + <g + id="g4373"> + <rect + style="color:#000000;fill:none;stroke:#00ff00;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect2985" + width="72.585144" + height="29.6516" + x="78.1614" + y="21.362185" /> + <text + xml:space="preserve" + style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" + x="111.51997" + y="40.045986" + id="text3877" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3879" + x="111.51997" + y="40.045986">5</tspan></text> + </g> + </g> + </g> + </g> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" + d="m 324.24253,185.09612 0,-78.57919" + id="path3881" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" + x="330.85974" + y="140.01648" + id="text4327" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan4329" + x="330.85974" + y="140.01648">increasing</tspan><tspan + sodipodi:role="line" + x="330.85974" + y="155.01648" + id="tspan4333">layer</tspan></text> + </g> +</svg> diff --git a/doc/layering/layering.tex b/doc/layering/layering.tex index 317aaeae43..35670cbfde 100644 --- a/doc/layering/layering.tex +++ b/doc/layering/layering.tex @@ -1,19 +1,19 @@ \documentclass{article} -\title{Region Layering} +\title{Region layering} \author{} \date{} -\usepackage{graphicx} +\usepackage{graphicx,amsmath} \begin{document} \maketitle \section{Introduction} When regions overlap in time, we need to decide which one should be -played. Ardour has a few options to set how this decision is made. +played. -\subsection{Layers} +\section{Layers} Each region on a playlist is on a \emph{layer}. All overlapping regions are on a unique layer, and when overlaps exist the highest-layered @@ -37,114 +37,168 @@ This follows the basic rule that, at any given point, the region on the highest layer will be played. -\section{Choice of layering} +\section{Which layer does a region go on?} -There are two main decisions to be made with regards to how a playlist should be layered: +The logic to decide which layer a region goes onto is somewhat complicated. +This section describes it in hand-wavey and more technical terms. -\begin{itemize} -\item Given overlapping regions, what order should they be layered in? -\item When should layering be changed? -\end{itemize} +\subsection{Hand-wavey description} -\subsection{Layering order} +A playlist maintains an internal \emph{layering order} for regions. This order +is not directly visible in Ardour, but it's useful to understand it +nonetheless. Figure~\ref{fig:layering-order-1} gives a rough idea of what this +means. -Ardour provides three-and-a-half ways to decide on the order in which -regions are layered. The most basic choice is: +\begin{figure}[ht] +\begin{center} +\includegraphics{layering-order-1.pdf} +\end{center} +\caption{Layering order} +\label{fig:layering-order-1} +\end{figure} -\begin{itemize} -\item \emph{Later is higher} --- regions which are later in time will - be on higher layers. -\item \emph{Most recently added is higher} --- regions which were more - recently added to the playlist will be on higher layers. -\item \emph{Most recently edited or added is higher} --- regions which - were more recently edited or added to the playlist will be on - higher layers. -\end{itemize} +Here we see 6 regions; as the layering order value increases, the region will +be placed on a higher layer. -This choice can be set per-session from the \emph{Session Properties} dialogue -box. +Every time any region is moved, added or edited, a \emph{relayer} occurs. This +collapses the regions down into layers. For our example, this would result in +the arrangement in Figure~\ref{fig:layering-order-2}. -\subsubsection{Explicit ordering} +\begin{figure}[ht] +\begin{center} +\includegraphics{layering-order-2.pdf} +\end{center} +\caption{Layering} +\label{fig:layering-order-2} +\end{figure} -There are also cases when none of these rules should apply. If, for -example, you want to put a given region at the top of the stack (on -the highest layer), this is possible using the region `raise to top' -command. Following such a command (called an `explicit layering'), -the regions on the playlist may no longer obey any of the standard -ordering rules. +The relayer operation takes each region, in the layering order, and puts it +on the lowest possible layer that it can be on without overlap. -This situation also arises when editing tracks using the `stacked' layer mode. -In this mode, almost all layering is explicit. When starting a region drag, -the other regions on a track spread apart vertically to allow the dragged -region to be dropped in any position within the region stack. The normal -layering rules will only be followed if a region is dropped on top of another; -in all other cases, explicit layering will be used to put the region wherever -it was dropped. -\subsection{When to update layering} +\subsubsection{Layering order} -There are two distinct approaches to updating layering: +Given that arrangement, the remaining question is how the layering order is +arrived at. The rules are as follows: \begin{itemize} -\item Update whenever any region edit is performed. -\item Update only when a region is edited such that a new overlap has been set up. + +\item When a region is added to a playlist, it goes above the current highest + region in the layering order. + +\item In `overlaid' track mode, moving or editing regions does not change the + layering order. Hence, moving regions about will maintain their position in + the layering order. Changing overlaps may change the \emph{layer} that the + region ends up on, but not the order in which they will be layered. + +\item In `stacked' track mode, moving regions places the region on the layer + that they are dropped on. This is achieved by modifying the layering order + for the region that is moved, so that when the relayer operation happens the + region ends up on the desired layer. + +\item When regions are `raised' or `lowered' in the stack, the layering order + is modified to achieve the desired layer change. + \end{itemize} -The approach to use is optional, and can be set in \emph{Session Properties}. +The upshot of all this is that regions should maintain their expected layering +order, unless that order is explicitly change using `stacked' mode or by +explicit layering commands like `raise' or `lower'. + + + +\subsection{Technical description} + +Each region on a playlist has three layering-related properties: its current +layer $c$ (an integer) and its layering index $i$ (also an integer). It also +has an \emph{optional} pending layer $p$ which is fractional. + +Whenever a region is added, moved, trimmed, etc.\ we run a \emph{relayer}. This +does the following: + +\begin{enumerate} +\item Take a list of all regions and remove those who have a value for $p$. +\item Sort the remainder in ascending order of $i$. +\item Insert the regions which have a value for $p$ in the correct place in the + list by comparing $c$ of those in the list to $p$ of the inserted region. +\item Iterate over the resulting list, putting each region on the lowest available + layer, setting its current layer $c$, and clearing $p$. +\item If any region had a pending layer, iterate through the region list again + giving each region a new layering index $i$ ascending from 0. +\end{enumerate} -This decision only has consequences when an explicit layering command has -been used. Consider the case in Figure~\ref{fig:explicit-layering1}. +The pending layer $p$ is set up in the following situations: +\begin{enumerate} +\item When a region is added to the playlist, $p$ is set to $\infty$. +\item When a region is raised to the top of the playlist, $p$ is set to $\infty$. +\item When a region is raised one step in the playlist, $p$ is set to $c + 1.5$. +\item When a region is lowered to the bottom of the playlist, $p$ is set to $-0.5$. +\item When a region is lowered one step int the playlist, $p$ is set to $c - 1.5$. +\item When a region is explicitly put between layers $A$ and $B$ in `stacked' + mode, $p$ is set to $(A + B) / 2$. +\end{enumerate} + +The idea of this approach is that the layering indices $i$ are used to keep a +current state of the stack, and this state is used to maintain region +relationships. Setting $p$ will alter these relationships, after which the +layering indices $i$ are updated to reflect the new status quo. + +It is not sufficient to use current layer $c$ as the state of the stack. +Consider two overlapping regions $P$ and $Q$, with $P$ on layer~0 and $Q$ on +layer~1. Now raise $P$ to the top of the stack, so that $Q$ is on layer~0 and +$P$ on layer~1. Move $P$ away from $Q$ (in overlaid mode) so that both regions +are on layer~0. Now drag $P$ back over $Q$. One would expect $P$ to return to +the top of the stack, since it was explicitly raised earlier. However, if the +relayer operation were to compare $c$ for each region, they would be identical; +the information that $P$ was once higher than $Q$ has been lost. + + +\section{Stacked mode} + +When a track is being displayed in \emph{stacked} mode, regions are spread out +vertically to indicate their layering, like in Figure~\ref{fig:stacked}. \begin{figure}[ht] \begin{center} -\includegraphics{explicit-layering1.pdf} +\includegraphics[scale=0.5]{stacked.png} \end{center} -\caption{Explicit layering: stage 1} -\label{fig:explicit-layering1} +\caption{A track in stacked mode} +\label{fig:stacked} \end{figure} -Given that arrangement, imagine that we perform a `raise to top' on region $C$. -This results in the arrangement in Figure~\ref{fig:explicit-layering2}. +In this mode, layering is performed \emph{explicitly}. In other words, the +user's immediate actions decide which layer a region should be put on. When a +region move drag is started in stacked mode, the regions separate further out +vertically, to leave space between each layer, as shown in +Figure~\ref{fig:stacked-drag}. \begin{figure}[ht] \begin{center} -\includegraphics{explicit-layering2.pdf} +\includegraphics[scale=0.5]{stacked-drag.png} \end{center} -\caption{Explicit layering: stage 2} -\label{fig:explicit-layering2} +\caption{A track in stacked mode during a drag} +\label{fig:stacked-drag} \end{figure} -Imagine now that region $C$ is moved very slightly to the left, so -that it still overlaps both $A$ and $B$. If we are updating whenever -any region edit is performed, this will result in a relayer; the -regions' arrangement will go back to that in -Figure~\ref{fig:explicit-layering1}. +The region(s) being dragged can then be dropped in any location, horizontally +and vertically, and the regions will be layered accordingly. + -If, on the other hand, we only relayer when a new overlap is set up, -the region layering will remain as in -Figure~\ref{fig:explicit-layering2}. Before the edit, regions $A$, -$B$ and $C$ overlapped; after the edit, the situation is the same, so -no relayering is performed. +\section{Overlaid mode} -Another, more complex, example is shown in Figure~\ref{fig:tricky-explicit-layering}. +When a track is being displayed in \emph{overlaid} mode, regions are +displayed on top of one another, like in Figure~\ref{fig:overlaid}. \begin{figure}[ht] \begin{center} -\includegraphics{tricky-explicit-layering.pdf} +\includegraphics[scale=0.5]{overlaid.png} \end{center} -\caption{More complex explicit layering} -\label{fig:tricky-explicit-layering} +\caption{A track in overlaid mode} +\label{fig:overlaid} \end{figure} -% XXX: this makes no sense - -Here, imagine that $C$ has been moved to the top of the stack with an explicit -`raise to top' command. Now consider an extension of $C$ so that its -right-hand edge overlaps $D$. If we are relayering only on new overlaps, this -case presents one new overlap (that of $C$ with $D$). In this case, $C$ is -moved according to the current layering rules so that it is correct with -respect to $D$. In addition, $A$ and $B$ are re-layered so that the relation -of $C$ to $A$ and $B$ is preserved. +In this mode, drags of regions maintain the same \emph{layer ordering}, even if the layers may +change. \end{document} diff --git a/doc/layering/tricky-explicit-layering.svg b/doc/layering/tricky-explicit-layering.svg deleted file mode 100644 index f4e89f6f92..0000000000 --- a/doc/layering/tricky-explicit-layering.svg +++ /dev/null @@ -1,323 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="744.09448819" - height="1052.3622047" - id="svg2" - version="1.1" - inkscape:version="0.47 r22583" - sodipodi:docname="tricky-explicit-layering1.svg"> - <defs - id="defs4"> - <marker - inkscape:stockid="Arrow2Lend" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow2Lend" - style="overflow:visible;"> - <path - id="path3618" - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="scale(1.1) rotate(180) translate(1,0)" /> - </marker> - <inkscape:perspective - sodipodi:type="inkscape:persp3d" - inkscape:vp_x="0 : 526.18109 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_z="744.09448 : 526.18109 : 1" - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" - id="perspective10" /> - <inkscape:perspective - id="perspective4058" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4089" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4120" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4151" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4365" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4386" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <marker - inkscape:stockid="Arrow2Lend" - orient="auto" - refY="0" - refX="0" - id="Arrow2Lend-6" - style="overflow:visible"> - <path - id="path3618-4" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" - transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> - </marker> - <inkscape:perspective - id="perspective4449" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <marker - inkscape:stockid="Arrow2Lend" - orient="auto" - refY="0" - refX="0" - id="Arrow2Lend-5" - style="overflow:visible"> - <path - id="path3618-1" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" - transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> - </marker> - <inkscape:perspective - id="perspective4668" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4696" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective4696-1" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="2.633643" - inkscape:cx="191.36241" - inkscape:cy="670.78783" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="true" - inkscape:window-width="1280" - inkscape:window-height="949" - inkscape:window-x="0" - inkscape:window-y="25" - inkscape:window-maximized="1" - gridtolerance="10"> - <inkscape:grid - type="xygrid" - id="grid2816" - empspacing="5" - visible="true" - enabled="true" - snapvisiblegridlinesonly="true" - units="mm" - spacingx="5mm" - spacingy="5mm" /> - </sodipodi:namedview> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title></dc:title> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1"> - <path - style="fill:none;stroke:#000000;stroke-width:0.62500000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend);color:#000000;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 88.582677,432.28344 159.448823,0" - id="path3592" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="255.20872" - y="435.23877" - id="text4042"><tspan - sodipodi:role="line" - id="tspan4044" - x="255.20872" - y="435.23877">time</tspan></text> - <rect - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - id="rect2818" - width="106.29921" - height="35.433071" - x="88.582695" - y="343.70078" /> - <rect - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - id="rect2818-2" - width="88.582687" - height="35.433071" - x="124.01575" - y="379.13385" /> - <rect - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - id="rect2818-2-2-4" - width="70.866142" - height="35.433071" - x="230.31496" - y="379.13385" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="137.33429" - y="365.70132" - id="text4320"><tspan - sodipodi:role="line" - id="tspan4322" - x="137.33429" - y="365.70132">A</tspan></text> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="164.22108" - y="400.94839" - id="text4324"><tspan - sodipodi:role="line" - id="tspan4326" - x="164.22108" - y="400.94839">B</tspan></text> - <rect - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - id="rect2818-2-2" - width="44.545933" - height="35.433071" - x="177.16534" - y="308.2677" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="195.20232" - y="330.08224" - id="text4328"><tspan - sodipodi:role="line" - id="tspan4330" - x="195.20232" - y="330.08224">C</tspan></text> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="261.33801" - y="400.94839" - id="text4332"><tspan - sodipodi:role="line" - id="tspan4334" - x="261.33801" - y="400.94839">D</tspan></text> - <path - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow2Lend);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 318.89764,432.28344 0,-124.01575" - id="path3592-8" - sodipodi:nodetypes="cc" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="307.30875" - y="301.75519" - id="text4406"><tspan - sodipodi:role="line" - id="tspan4408" - x="307.30875" - y="301.75519">layer</tspan></text> - <path - style="fill:none;stroke:#000000;stroke-width:0.62500000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;color:#000000;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 311.84462,397.273 13.54507,0" - id="path4439" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="328.09393" - y="401.58279" - id="text4656"><tspan - sodipodi:role="line" - id="tspan4658" - x="328.09393" - y="401.58279">0</tspan></text> - <path - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 312.32197,361.87109 13.54507,0" - id="path4439-1" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="328.02194" - y="366.18088" - id="text4656-0-0"><tspan - sodipodi:role="line" - id="tspan4658-6-3" - x="328.02194" - y="366.18088">1</tspan></text> - <path - style="color:#000000;fill:none;stroke:#000000;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 311.84462,325.98423 13.54507,0" - id="path4439-1-6" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:LMRoman12;-inkscape-font-specification:LMRoman12" - x="328.09393" - y="329.49646" - id="text4742"><tspan - sodipodi:role="line" - id="tspan4744" - x="328.09393" - y="329.49646">2</tspan></text> - </g> -</svg> |