summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2025-10-24legacy fill: enable expand option (#3988)Kaalleen
2025-10-22Update GPL2 license location information (#4006)Benson Muite
2025-10-22params: prevent settings error (#4004)Kaalleen
2025-10-22satin: do no error on one point zigzag underlay segment (#3996)Kaalleen
2025-10-22fix remove kerning (#3995)Kaalleen
2025-10-22debugger vscode adaption (#3981)Kaalleen
2025-10-22fix redwork stroke width (#3964)Kaalleen
2025-10-22Fix transform issues in lettering along path (#3972)Kaalleen
* lettering along path: transform corrections * stop transform baking at glyph groups to keep clips in the correct position
2025-10-22jump to stroke: add path label (#4011)Kaalleen
2025-10-22Gradient color: fix cache key error (#4007)Kaalleen
* use first stop color for non linear gradient fill objects * fix bug in get_cache_key for gradient objects
2025-10-10Edit json: allow 0 values for horiz_adv_x_default (#3965)Kaalleen
* edit json: allow 0 values for horiz_adv_x_default and enable None for using the glyph width * enable None value in generate json too
2025-10-10fill to satin: do not error out for fills without rungs (#3966)Kaalleen
2025-10-10satin: multiple levels for short stitches (#3987)Kaalleen
2025-10-10satin: rely more on path length for invalid satins (#3963)Kaalleen
2025-10-05stroke: filter invalid paths in clipped path (#3989)Kaalleen
2025-09-04fix meander clamp (2) (#3945)Kaalleen
2025-08-31stroke to satin: ensure a good starting point for closed paths (#3944)Kaalleen
starting point for the conversion, not necessarily the resulting column
2025-08-30preset-related fixes (#3931)Lex Neva
* fix manually clicking pencil icon * update choices when loading presets * ignore hidden and disabled params when applying and creating presets * mark selection param changed when a dependent param is changed * don't immediately apply when clicking 'Use Last Settings' * define on_change_hook in __init__ * make adding, updating, and deleting presets clearer * only skip satin param for strokes thinner than 0.3mm when they have only one subpath
2025-08-27color fixes (#3936)Kaalleen
2025-08-27fill: tag last stitch in a row correctly (#3940)Kaalleen
2025-08-27fix camp weiredness (#3941)Kaalleen
2025-08-24Claudine/symplify glyph layers creation (#3937)Claudine Peyrat
* remove unuseful param from the dialog number of imported glyphs is not useful for font maker, they want all of them. * Update lettering_svg_font_to_layers.xml
2025-08-24rename extension (#3938)Claudine Peyrat
rename lettering_fill_composed_glyphs lettering_organize_glyphs
2025-08-24fix crash with tiny satin (#3934)Lex Neva
* avoid crash on tiny satin * cleanup small satins too * fix #3933 --------- Co-authored-by: Kaalleen <reni@allenka.de>
2025-08-22a few fixes for converting stroke to satin internally (#3926)Lex Neva
* remove unused flatten_subpath() * there will always be two rails here * handle degenerate zero-length sections * remove unused SatinColumn.merge() * mark merge() as private and adjust docstring
2025-08-21fix type errors (#3928)Lex Neva
* fix type checking error in overriding path propery * fix type hints in sew stack * enable type checking for tartan * ignore type warnings for dynamic wx module attributes * fix tartan type errors * fix circular import * add type-check and test targets * use Optional instead
2025-08-19do not overwrite stroke params with satin column values (#3927)Kaalleen
2025-08-19satin: skip contour underlay if there are no pairs (#3912)Kaalleen
2025-08-19rungs at nodes for on-the-fly-satins (#3903)Kaalleen
2025-08-03"Add" overwrites presets (#3896)Kaalleen
* style * param presets: to not overwrite on add when name exists
2025-07-27Update lettering_svg_font_to_layers.py (#3883)Claudine Peyrat
* Update lettering_svg_font_to_layers.py when we get a glyph from the Private Unicode Area, the entry point has no meaning, but hopefully we can get some good information from the glyph_name * Update font_info.py kerning information must be associated to the right nanme glyph layer in case of PUA letters * remove commented code
2025-07-27rename pyembroidery to pystitch (#3889)Kaalleen
... and remove it as a submodule (use pip to install)
2025-07-20Satin: first_stitch method fails on invalid path (#3882)Kaalleen
* satin: do not fail on invalid path in first stitch method * fix validation errors too
2025-07-20Claudine/more help to add lock stitches in fonts (#3875)Claudine Peyrat
* allow locks on last element of each group * a layer is not a group * Update lettering_force_lock_stitches.py
2025-07-19Convert to satin internally (3874)Kaalleen
2025-07-19Claudine/fill composed glyphs layers (#3870)Claudine Peyrat
* combining glyphs are guessed * attribute letter seems ok now * Update option_panel.py should not have been modified * second round * step3 * add sorting whole file by categories * style * Update tags.py remove an unuseful tag * fixing mistakes pointed out by Kaaleen thank you Kaalleen
2025-07-12fix zerodivision error in zigzag to satin (#3858)Kaalleen
2025-07-12satin: fix empty rail issue (#3863)Kaalleen
2025-07-11Fix issue with bad color names (#3816)Kaalleen
* fix issue with bad color names and define element colors at one place and reuse * fix bad tartan color * verify color in gradient block * add thread color tests * use default color behavior for elements linked to non-existing definitions (gradients) * Added mypy change for tests (authored by: CapellanCitizen)
2025-07-11Do not redefine underscore (#3865)Kaalleen
* do not redefine underscore * Disallow any redefinitions going forward --------- Co-authored-by: CapellanCitizen <>
2025-07-07remove comment: inkscape does not save view rotation (it does) (#3849)Kaalleen
2025-07-06Claudine/fix normalization and house cleaning (#3843)Claudine Peyrat
* remove normalization in glyph filter remove glyph normalization gui/lettering/main_panel, as it breaks the glyph filtering remove some spelling mistake in the comments, correct some comment if a glyph from the svg font file is a non chasing mark (like combining accent, or cedilla) the inkscape label of the corresponding glyph group created by lettering_font_sample was empty or unreadable, make it visible . Same in the line label. and although it is not related correct one glyph in malika font * correct warning in lettering_font_sample do the warnings correctly when there is somethng wrong with the glyph list in the font.json gile * Update lettering_font_sample.py fix a typo
2025-07-04feat: add "rotate on export" file setting (#3840)Martin Fischer
2025-06-29Merge pull request #3825 from not-my-profile/support-bundled-inkexKaalleen
Revert "add icc color workaround (#3687)" and use 1.4.x inkex
2025-06-29Merge pull request #3826 from not-my-profile/fix-nixKaalleen
Fix package build with Nix package manager
2025-06-29Fix simulator drawing panel attribute error when no stitch is loaded (#3815)Kaalleen
2025-06-28fix: tests during Nix buildMartin Fischer
Fixes the following error when executing the tests during a Nix build: Traceback (most recent call last): File "/build/inkstitch/lib/elements/element.py", line 714, in handle_unexpected_exceptions yield File "/build/inkstitch/lib/elements/element.py", line 650, in embroider stitch_groups = self._load_cached_stitch_groups(previous_stitch, next_element) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/inkstitch/lib/debug/debug.py", line 172, in decorated result = func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/build/inkstitch/lib/elements/element.py", line 541, in _load_cached_stitch_groups stitch_groups = get_stitch_plan_cache().get(cache_key) ^^^^^^^^^^^^^^^^^^^^^^^ File "/build/inkstitch/lib/utils/cache.py", line 31, in get_stitch_plan_cache cache_dir = get_user_dir('cache') ^^^^^^^^^^^^^^^^^^^^^ File "/build/inkstitch/lib/utils/paths.py", line 50, in get_user_dir os.makedirs(path) File "<frozen os>", line 215, in makedirs File "<frozen os>", line 215, in makedirs File "<frozen os>", line 225, in makedirs PermissionError: [Errno 13] Permission denied: '/homeless-shelter'
2025-06-28fix: generate-inx-files failing with NixMartin Fischer
Fixes the following error when attempting to build the Nix package: python bin/generate-inx-files; Traceback (most recent call last): File "/build/inkstitch/bin/generate-inx-files", line 59, in <module> from lib.inx.generate import generate_inx_files File "/build/inkstitch/lib/inx/generate.py", line 6, in <module> from .extensions import generate_extension_inx_files File "/build/inkstitch/lib/inx/extensions.py", line 10, in <module> from ..commands import (COMMANDS, GLOBAL_COMMANDS, LAYER_COMMANDS, File "/build/inkstitch/lib/commands.py", line 16, in <module> from .i18n import N_, _ File "/build/inkstitch/lib/i18n.py", line 10, in <module> from .utils import cache, get_resource_dir File "/build/inkstitch/lib/utils/__init__.py", line 6, in <module> from . import cache as cache_module # Slight hack to allow cache to be imported for monkeypatching ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/inkstitch/lib/utils/cache.py", line 13, in <module> from lib.utils.settings import global_settings File "/build/inkstitch/lib/utils/settings.py", line 84, in <module> global_settings = GlobalSettings() ^^^^^^^^^^^^^^^^ File "/build/inkstitch/lib/utils/settings.py", line 48, in __init__ self.__settings_file = os.path.join(get_user_dir(), "settings.json") ^^^^^^^^^^^^^^ File "/build/inkstitch/lib/utils/paths.py", line 50, in get_user_dir os.makedirs(path) File "<frozen os>", line 215, in makedirs File "<frozen os>", line 215, in makedirs File "<frozen os>", line 225, in makedirs PermissionError: [Errno 13] Permission denied: '/homeless-shelter'
2025-06-28fix: revert "add icc color workaround (#3687)" and use 1.4.x inkexMartin Fischer
This commit reverts 4cfb02c370e2f09d59658f652c4b15bd41d46d6e which did not fix anything as far as I can tell. The inkex.Color constructor has been doing the same split logic since 2018 and the used ColorCMS class isn't available in the inkex that's bundled with Inkscape which breaks packaging for Linux distros such as NixOS. To prevent such breakages from being introduce accidentally in the future the pinned inkex version is changed to the git tagged version EXTENSIONS_AT_INKSCAPE_1.4.1. Fixes #3824.
2025-06-25switch from NFKC to NFC normalization form in the lettering tool (#3828)Claudine Peyrat
* switch from NFKC to NFC * Additional normalization. --------- Co-authored-by: CapellanCitizen <>