<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
    <name>Imagetracer.js</name>
    <id>fablabchemnitz.de.imagetracerjs</id>
    <param name="tab" type="notebook">
        <page name="tab_general" gui-text="Imagetracer.js">
            <hbox>
                <vbox>
                    <label appearance="header">Tracing</label>
                    <separator/>
                    <param name="keeporiginal" type="bool" gui-text="Keep original image on canvas">false</param>
                    <param name="ltres" type="float" min="0.0" gui-text="Error treshold straight lines">1.0</param>
                    <param name="qtres" type="float" min="0.0" gui-text="Error treshold quadratic splines">1.0</param>
                    <param name="pathomit" type="int" min="0" max="9999" gui-text="Noise reduction - discard edge node paths shorter than">8</param>           
                    <param name="rightangleenhance" type="bool" gui-text="Enhance right angle corners">true</param>
                    <spacer/>
                    <label appearance="header">Color Quantization and Layering</label>
                    <separator/>
                    <param name="colorsampling" appearance="combo" type="optiongroup" gui-text="Color sampling">
                       <option value="0">disabled, generating a palette</option>
                       <option value="1">random sampling</option>
                       <option value="2">deterministic sampling</option>
                    </param>           
                    <param name="numberofcolors" type="int" min="1" max="9999" gui-text="Number of colors to use on palette">16</param>
                    <param name="mincolorratio" type="int" gui-text="Color randomization ratio">0</param>
                    <param name="colorquantcycles" type="int" min="1" max="20" gui-text="Color quantization will be repeated this many times">3</param>   
                    <param name="layering" appearance="combo" type="optiongroup" gui-text="Layering">
                       <option value="0">sequential</option>
                       <option value="1">parallel</option>
                    </param>   
                </vbox>
                <spacer/>
                <separator/>
                <spacer/>
                <vbox>
                    <label appearance="header">SVG Rendering</label>
                    <separator/>
                    <param name="strokewidth" type="float" min="0.0" max="9999" gui-text="SVG stroke-width">1.0</param>
                    <param name="linefilter" type="bool" gui-text="Noise reduction line filter">false</param>
                    <!--<param name="scale" type="float" min="0.0" max="9999" gui-text="Coordinate scale factor">1.0</param> disabled because we resize to the size of the original image-->
                    <param name="roundcoords" type="int" min="0" max="10" gui-text="Decimal places for rounding">1</param>
                    <param name="viewbox" type="bool" gui-text="Resize to SVG viewBox">false</param>
                    <param name="desc" type="bool" gui-text="SVG descriptions">false</param> 
                    <spacer/>
                    <label appearance="header">Blur Preprocessing</label>
                    <separator/>
                    <param name="blurradius" type="int" min="1" max="5" gui-text="Selective Gaussian blur preprocessing">0</param>
                    <param name="blurdelta" type="float" min="0.0" max="9999" gui-text="RGBA delta treshold for selective Gaussian blur preprocessing">20.0</param>
                </vbox>
            </hbox>
        </page>
        <page name="tab_about" gui-text="About">
            <label appearance="header">Imagetracer.js</label>
            <label>imagetracerjs - Simple raster image tracer and vectorizer written in JavaScript, ported to Inkscape. It will vectorize your beautiful image into a more beautiful SVG trace with separated infills(break apart into single surfaces like a puzzle).</label>
            <label>2020 - 2021 / written by Mario Voigt (Stadtfabrikanten e.V. / FabLab Chemnitz)</label>
            <spacer/>
            <label appearance="header">Online Documentation</label>
            <label appearance="url">https://y.stadtfabrikanten.org/imagetracerjs</label>
            <spacer/>
            <label appearance="header">Contributing</label>
            <label appearance="url">https://gitea.fablabchemnitz.de/MarioVoigt/mightyscape-1.X</label>
            <label appearance="url">mailto:mario.voigt@stadtfabrikanten.org</label>
            <spacer/>
            <label appearance="header">Third Party Modules</label>
            <label appearance="url">https://github.com/jankovicsandras/imagetracerjs</label>
            <spacer/>
            <label appearance="header">MightyScape Extension Collection</label>
            <label>This piece of software is part of the MightyScape for Inkscape Extension Collection and is licensed under GNU GPL v3</label>
            <label appearance="url">https://y.stadtfabrikanten.org/mightyscape-overview</label>
        </page>
        <page name="tab_donate" gui-text="Donate">
            <label appearance="header">Coffee + Pizza</label>
            <label>We are the Stadtfabrikanten, running the FabLab Chemnitz since 2016. A FabLab is an open workshop that gives people access to machines and digital tools like 3D printers, laser cutters and CNC milling machines.</label>
            <spacer/>           
            <label>You like our work and want to support us? You can donate to our non-profit organization by different ways:</label>
            <label appearance="url">https://y.stadtfabrikanten.org/donate</label>
            <spacer/>
            <label>Thanks for using our extension and helping us!</label>
            <image>../000_about_fablabchemnitz.svg</image>
        </page>
    </param>
    <effect needs-live-preview="true">
        <object-type>all</object-type>
		<effects-menu>
         <submenu name="FabLab Chemnitz">
            <submenu name="Tracing/Edge Detection"/>
         </submenu>
		</effects-menu>
    </effect>
    <script>
        <command location="inx" interpreter="python">imagetracerjs.py</command>
    </script>
</inkscape-extension>