bland 0.2.1

Pure-Rust library for paper-ready, monochrome, hatch-patterned technical plots in the visual tradition of 1960s-80s engineering reports.
Documentation
1
2
3
4
5
6
<div class="bland-hero">

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 794 559" width="794" height="559" shape-rendering="geometricPrecision" font-family="Times, 'Liberation Serif', serif"><rect x="0" y="0" width="794" height="559" fill="white"/><rect x="12" y="12" width="770" height="535" fill="none" stroke="black" stroke-width="0.8"/><text x="412" y="42" font-size="14" font-family="Times, &apos;Liberation Serif&apos;, serif" text-anchor="middle" letter-spacing="0.05em" fill="black">DAMPED OSCILLATION</text><g opacity="0.7"><line x1="102.385" y1="80" x2="102.385" y2="479" stroke="black" stroke-width="0.4" stroke-dasharray="2 3"/><line x1="226.231" y1="80" x2="226.231" y2="479" stroke="black" stroke-width="0.4" stroke-dasharray="2 3"/><line x1="350.077" y1="80" x2="350.077" y2="479" stroke="black" stroke-width="0.4" stroke-dasharray="2 3"/><line x1="473.923" y1="80" x2="473.923" y2="479" stroke="black" stroke-width="0.4" stroke-dasharray="2 3"/><line x1="597.769" y1="80" x2="597.769" y2="479" stroke="black" stroke-width="0.4" stroke-dasharray="2 3"/><line x1="721.615" y1="80" x2="721.615" y2="479" stroke="black" stroke-width="0.4" stroke-dasharray="2 3"/><line x1="90" y1="458.441" x2="734" y2="458.441" stroke="black" stroke-width="0.4" stroke-dasharray="2 3"/><line x1="90" y1="341.466" x2="734" y2="341.466" stroke="black" stroke-width="0.4" stroke-dasharray="2 3"/><line x1="90" y1="224.492" x2="734" y2="224.492" stroke="black" stroke-width="0.4" stroke-dasharray="2 3"/><line x1="90" y1="107.517" x2="734" y2="107.517" stroke="black" stroke-width="0.4" stroke-dasharray="2 3"/></g><defs><clipPath id="bland-clip-plot"><rect x="90" y="80" width="644" height="399"/></clipPath></defs><g clip-path="url(#bland-clip-plot)"><polyline points="102.385,107.517 105.481,110.712 108.577,114.433 111.673,118.658 114.769,123.363 117.865,128.524 120.962,134.116 124.058,140.113 127.154,146.491 130.25,153.222 133.346,160.281 136.442,167.641 139.538,175.275 142.635,183.157 145.731,191.259 148.827,199.555 151.923,208.018 155.019,216.623 158.115,225.342 161.212,234.151 164.308,243.023 167.404,251.935 170.5,260.862 173.596,269.779 176.692,278.665 179.788,287.495 182.885,296.25 185.981,304.906 189.077,313.445 192.173,321.847 195.269,330.092 198.365,338.164 201.462,346.045 204.558,353.72 207.654,361.173 210.75,368.39 213.846,375.358 216.942,382.066 220.038,388.501 223.135,394.655 226.231,400.516 229.327,406.078 232.423,411.334 235.519,416.276 238.615,420.9 241.712,425.202 244.808,429.178 247.904,432.825 251,436.143 254.096,439.131 257.192,441.788 260.288,444.117 263.385,446.12 266.481,447.798 269.577,449.156 272.673,450.198 275.769,450.929 278.865,451.355 281.962,451.483 285.058,451.318 288.154,450.87 291.25,450.146 294.346,449.154 297.442,447.905 300.538,446.407 303.635,444.671 306.731,442.707 309.827,440.526 312.923,438.14 316.019,435.558 319.115,432.794 322.212,429.858 325.308,426.763 328.404,423.52 331.5,420.143 334.596,416.642 337.692,413.031 340.788,409.321 343.885,405.525 346.981,401.655 350.077,397.722 353.173,393.739 356.269,389.717 359.365,385.668 362.462,381.603 365.558,377.533 368.654,373.468 371.75,369.421 374.846,365.4 377.942,361.415 381.038,357.477 384.135,353.593 387.231,349.774 390.327,346.027 393.423,342.361 396.519,338.783 399.615,335.301 402.712,331.92 405.808,328.648 408.904,325.491 412,322.453 415.096,319.54 418.192,316.757 421.288,314.107 424.385,311.594 427.481,309.222 430.577,306.993 433.673,304.909 436.769,302.973 439.865,301.185 442.962,299.547 446.058,298.06 449.154,296.723 452.25,295.536 455.346,294.5 458.442,293.612 461.538,292.871 464.635,292.276 467.731,291.825 470.827,291.515 473.923,291.344 477.019,291.309 480.115,291.406 483.212,291.632 486.308,291.983 489.404,292.455 492.5,293.044 495.596,293.745 498.692,294.555 501.788,295.467 504.885,296.477 507.981,297.581 511.077,298.772 514.173,300.046 517.269,301.397 520.365,302.82 523.462,304.309 526.558,305.859 529.654,307.464 532.75,309.118 535.846,310.817 538.942,312.554 542.038,314.324 545.135,316.121 548.231,317.94 551.327,319.777 554.423,321.624 557.519,323.478 560.615,325.334 563.712,327.186 566.808,329.03 569.904,330.861 573,332.674 576.096,334.466 579.192,336.232 582.288,337.968 585.385,339.67 588.481,341.335 591.577,342.96 594.673,344.54 597.769,346.073 600.865,347.556 603.962,348.987 607.058,350.362 610.154,351.681 613.25,352.94 616.346,354.137 619.442,355.272 622.538,356.343 625.635,357.348 628.731,358.287 631.827,359.159 634.923,359.962 638.019,360.697 641.115,361.364 644.212,361.962 647.308,362.492 650.404,362.953 653.5,363.346 656.596,363.673 659.692,363.933 662.788,364.128 665.885,364.258 668.981,364.326 672.077,364.332 675.173,364.277 678.269,364.165 681.365,363.995 684.462,363.771 687.558,363.494 690.654,363.165 693.75,362.788 696.846,362.365 699.942,361.897 703.038,361.387 706.135,360.837 709.231,360.25 712.327,359.628 715.423,358.974 718.519,358.29 721.615,357.579" fill="none" stroke="black" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/><polyline points="102.385,107.517 105.481,110.423 108.577,113.293 111.673,116.128 114.769,118.927 117.865,121.691 120.962,124.422 124.058,127.118 127.154,129.78 130.25,132.41 133.346,135.007 136.442,137.572 139.538,140.104 142.635,142.606 145.731,145.076 148.827,147.516 151.923,149.925 155.019,152.304 158.115,154.654 161.212,156.975 164.308,159.267 167.404,161.53 170.5,163.765 173.596,165.973 176.692,168.153 179.788,170.305 182.885,172.432 185.981,174.531 189.077,176.605 192.173,178.653 195.269,180.676 198.365,182.673 201.462,184.646 204.558,186.594 207.654,188.517 210.75,190.417 213.846,192.294 216.942,194.147 220.038,195.977 223.135,197.784 226.231,199.569 229.327,201.332 232.423,203.072 235.519,204.792 238.615,206.489 241.712,208.166 244.808,209.822 247.904,211.457 251,213.072 254.096,214.667 257.192,216.242 260.288,217.798 263.385,219.334 266.481,220.851 269.577,222.35 272.673,223.829 275.769,225.291 278.865,226.734 281.962,228.159 285.058,229.566 288.154,230.957 291.25,232.329 294.346,233.685 297.442,235.024 300.538,236.346 303.635,237.652 306.731,238.942 309.827,240.215 312.923,241.473 316.019,242.715 319.115,243.942 322.212,245.153 325.308,246.35 328.404,247.531 331.5,248.698 334.596,249.85 337.692,250.989 340.788,252.112 343.885,253.222 346.981,254.319 350.077,255.401 353.173,256.47 356.269,257.526 359.365,258.569 362.462,259.599 365.558,260.616 368.654,261.62 371.75,262.612 374.846,263.591 377.942,264.559 381.038,265.514 384.135,266.458 387.231,267.389 390.327,268.31 393.423,269.218 396.519,270.116 399.615,271.002 402.712,271.877 405.808,272.742 408.904,273.596 412,274.439 415.096,275.271 418.192,276.094 421.288,276.906 424.385,277.708 427.481,278.5 430.577,279.282 433.673,280.054 436.769,280.817 439.865,281.571 442.962,282.315 446.058,283.049 449.154,283.775 452.25,284.492 455.346,285.199 458.442,285.898 461.538,286.589 464.635,287.27 467.731,287.944 470.827,288.609 473.923,289.265 477.019,289.914 480.115,290.554 483.212,291.186 486.308,291.811 489.404,292.428 492.5,293.037 495.596,293.639 498.692,294.233 501.788,294.819 504.885,295.399 507.981,295.971 511.077,296.536 514.173,297.094 517.269,297.646 520.365,298.19 523.462,298.728 526.558,299.258 529.654,299.783 532.75,300.301 535.846,300.812 538.942,301.317 542.038,301.816 545.135,302.308 548.231,302.795 551.327,303.275 554.423,303.749 557.519,304.218 560.615,304.681 563.712,305.138 566.808,305.589 569.904,306.035 573,306.475 576.096,306.909 579.192,307.339 582.288,307.763 585.385,308.181 588.481,308.595 591.577,309.003 594.673,309.406 597.769,309.805 600.865,310.198 603.962,310.586 607.058,310.97 610.154,311.349 613.25,311.723 616.346,312.092 619.442,312.457 622.538,312.818 625.635,313.174 628.731,313.525 631.827,313.872 634.923,314.215 638.019,314.553 641.115,314.888 644.212,315.218 647.308,315.544 650.404,315.866 653.5,316.184 656.596,316.498 659.692,316.808 662.788,317.114 665.885,317.417 668.981,317.716 672.077,318.011 675.173,318.302 678.269,318.59 681.365,318.874 684.462,319.155 687.558,319.432 690.654,319.706 693.75,319.976 696.846,320.243 699.942,320.506 703.038,320.767 706.135,321.024 709.231,321.278 712.327,321.529 715.423,321.776 718.519,322.021 721.615,322.262" fill="none" stroke="black" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="6 3"/><line x1="90" y1="341.466" x2="734" y2="341.466" stroke="black" stroke-width="1.2" stroke-dasharray="1 3"/></g><rect x="90" y="80" width="644" height="399" fill="none" stroke="black" stroke-width="1"/><line x1="102.385" y1="479" x2="102.385" y2="475" stroke="black" stroke-width="1"/><text x="102.385" y="492" font-size="9" font-family="Times, &apos;Liberation Serif&apos;, serif" text-anchor="middle" fill="black">0</text><line x1="226.231" y1="479" x2="226.231" y2="475" stroke="black" stroke-width="1"/><text x="226.231" y="492" font-size="9" font-family="Times, &apos;Liberation Serif&apos;, serif" text-anchor="middle" fill="black">2</text><line x1="350.077" y1="479" x2="350.077" y2="475" stroke="black" stroke-width="1"/><text x="350.077" y="492" font-size="9" font-family="Times, &apos;Liberation Serif&apos;, serif" text-anchor="middle" fill="black">4</text><line x1="473.923" y1="479" x2="473.923" y2="475" stroke="black" stroke-width="1"/><text x="473.923" y="492" font-size="9" font-family="Times, &apos;Liberation Serif&apos;, serif" text-anchor="middle" fill="black">6</text><line x1="597.769" y1="479" x2="597.769" y2="475" stroke="black" stroke-width="1"/><text x="597.769" y="492" font-size="9" font-family="Times, &apos;Liberation Serif&apos;, serif" text-anchor="middle" fill="black">8</text><line x1="721.615" y1="479" x2="721.615" y2="475" stroke="black" stroke-width="1"/><text x="721.615" y="492" font-size="9" font-family="Times, &apos;Liberation Serif&apos;, serif" text-anchor="middle" fill="black">10</text><line x1="90" y1="458.441" x2="94" y2="458.441" stroke="black" stroke-width="1"/><text x="86" y="460.941" font-size="9" font-family="Times, &apos;Liberation Serif&apos;, serif" text-anchor="end" fill="black">-0.5</text><line x1="90" y1="341.466" x2="94" y2="341.466" stroke="black" stroke-width="1"/><text x="86" y="343.966" font-size="9" font-family="Times, &apos;Liberation Serif&apos;, serif" text-anchor="end" fill="black">0</text><line x1="90" y1="224.492" x2="94" y2="224.492" stroke="black" stroke-width="1"/><text x="86" y="226.992" font-size="9" font-family="Times, &apos;Liberation Serif&apos;, serif" text-anchor="end" fill="black">0.5</text><line x1="90" y1="107.517" x2="94" y2="107.517" stroke="black" stroke-width="1"/><text x="86" y="110.017" font-size="9" font-family="Times, &apos;Liberation Serif&apos;, serif" text-anchor="end" fill="black">1</text><text x="412" y="514" font-size="11" font-family="Times, &apos;Liberation Serif&apos;, serif" text-anchor="middle" fill="black" font-style="italic">t [s]</text><text x="46" y="279.5" font-size="11" font-family="Times, &apos;Liberation Serif&apos;, serif" text-anchor="middle" fill="black" font-style="italic" transform="rotate(-90 46 279.5)">x(t)</text><rect x="598" y="88" width="128" height="44" fill="white" stroke="black" stroke-width="0.8"/><line x1="606" y1="102" x2="634" y2="102" stroke="black" stroke-width="1.2"/><text x="642" y="107" font-size="10" font-family="Times, &apos;Liberation Serif&apos;, serif" fill="black">response</text><line x1="606" y1="118" x2="634" y2="118" stroke="black" stroke-width="1.2" stroke-dasharray="6 3"/><text x="642" y="123" font-size="10" font-family="Times, &apos;Liberation Serif&apos;, serif" fill="black">envelope</text></svg>

</div>