summaryrefslogtreecommitdiff
path: root/lib/utils
AgeCommit message (Collapse)Author
2023-02-16add commentLex Neva
2023-02-16make simulator threads pre-emptibleLex Neva
2023-01-22Replace running stitch algorithm to give consistent stitch lengths.George Steel
2023-01-02add comment to PRNGGeorge Steel
2022-12-26use random oracle for randomized satin columns and redo split stitchesGeorge Steel
2022-11-27This and that (#1727)Kaalleen
* dont fail on satin with fill * fill stitch error message * convert to satin mac issue * auto_satin: add rung for two node old style satins * avoid divide by zero in intersect_region_with_grating * fix for incorrect stagger in guided fill * better rail sectioning algorithm * fix #1780 * fix #1816 Co-authored-by: Lex Neva
2022-06-30Fixes (#1703)Kaalleen
* guide line position * use direction from line to shape * optimize intersection detection * fix flapack elf * handle weird guide lines better * update starting point for self crossing (multiple) fills * ripple: fixes and non circular join style * avoid jumps in ripple stitch * fallback only necessary if shape does not intersect grating * make valid may return a polygon * add profiling * Stitch.__init__ didn't work right and was super slow * shrink or grow to multipolygon Co-authored-by: Lex Neva
2022-06-22guided fill stagger (#1700)Lex Neva
2022-06-10Guided ripple stitch (#1675)Kaalleen
Co-authored-by: @lexelby
2022-05-04wipLex Neva
2022-05-04remove redundant cut() functionLex Neva
2022-05-04avoid anytree dependencyLex Neva
2022-01-24inkscape config path fallback (#1554)Kaalleen
2022-01-12inkscape config path (#1532)Kaalleen
2021-12-08add macOS and windows installer (#1352)rejbasket
2021-08-07Stitch + Stitch yields StitchLex Neva
2021-07-29Fix typos (#1291)luzpaz
2021-03-11add copyright headersLex Neva
2021-03-04Update for Inkscape 1.0 (#880)Kaalleen
* update for inkscape 1.0 * add about extension * Build improvements for the inkscape1.0 branch (#985) * zip: export real svg not stitch plan * #411 and #726 * Tools for Font Creators (#1018) * ignore very small holes in fills * remove embroider (#1026) * auto_fill: ignore shrink_or_grow if result is empty (#589) * break apart: do not ignore small fills Co-authored-by: Hagen Fritsch <rumpeltux-github@irgendwo.org> Co-authored-by: Lex Neva <github.com@lexneva.name>
2020-04-28electron simulator (#531)Lex Neva
2019-08-05add Troubleshoot extension (#465)Kaalleen
adds an extension to help you understand what's wrong with an object and how to fix it, e.g. "invalid" fill shapes
2019-04-18fix parameter managementLex Neva
2018-12-19fix duplicate point handlingLex Neva
2018-12-15basic lettering GUI (#351)Lex Neva
2018-11-14basic lettering (#344)Lex Neva
Can handle multiple lines of text and routes the stitching in alternating directions on each line.
2018-10-30new extension: Auto-Route Satin Columns (#330)Lex Neva
**video demo:** https://www.youtube.com/watch?v=tbghtqziB1g This branch adds a new extension, Auto-Route Satin Columns, implementing #214! This is a huge new feature that opens the door wide for exciting stuff like lettering (#142). To use it, select some satin columns and run the extension. After a few seconds, it will replace your satins with a new set with a logical stitching order. Under-pathing and jump-stitches will be added as necessary, and satins will be broken to facilitate jumps. The resulting satins will retain all of the parameters you had set on the original satins, including underlay, zig-zag spacing, etc. By default, it will choose the left-most extreme as the starting point and the right-most extreme as the ending point (even if these occur partway through a satin such as the left edge of a letter "o"). You can override this by attaching the new "Auto-route satin stitch starting/ending position" commands. There's also an option to add trims instead of jump stitches. Any jump stitch over 1mm is trimmed. I might make this configurable in the future but in my tests it seems to do a good job. Trim commands are added to the SVG, so it's easy enough to modify/delete as you see fit.
2018-09-29new extension: split satin (#315)Lex Neva
This branch adds a new command to split a satin column at a specified point. The split happens at a stitch boundary to ensure that the two resulting satins sew just like the original. All parameters set on the original satin remain set on the two new satins, and all rungs are retained. If one of the satins would have no rungs left, a new rung is added. How to use: 1. Select a satin column (simple satin doesn't work) 2. Attach the "Satin split point" command using the "Attach commands to selected objects" extension. 3. Move the symbol (or just the connector line's endpoint) to point to the exact spot you want the satin to be split at. 4. Select the satin column again. 5. Run "Split Satin Column". 6. The split point command and connector line disappear, and nothing else appears to have happened. Select your satin and you'll see that it's been split. This extension is a by-product of my initial work on #214. Ink/Stitch will need the ability to split a satin at an arbitrary point, and I figured, why not go ahead and release that functionality as an extension while I'm at it? :)
2018-09-12fix lintLex Neva
2018-09-09fix pencil icon pathLex Neva
2018-08-21pyflakes fixesLex Neva
2018-08-21autopep8Lex Neva
2018-08-09make cut() work properly even if the cut point is nearly at the endLex Neva
2018-07-25switch to pyembroidery for file generationLex Neva
2018-07-12move get_bundled_dir to utilsLex Neva
2018-06-15fix issue with input pluginLex Neva
2018-06-15fix zip file corruptionLex Neva
2018-05-29first attempt at realistic renderingLex Neva
2018-05-01refactor everything out of lib/__init__.pyLex Neva
2018-05-01rename inkstitch/ to lib/Lex Neva
You can't have a module and a package named the same thing. PyInstaller wants to import the main script as if it were a module, and this doesn't work unless there's no directory of the same name with a __init__.py in it.