Metadata-Version: 2.3
Name: inksim
Version: 0.5.2
Summary: Interactive embroidery simulator
Author: InkSim contributors
License: GNU GENERAL PUBLIC LICENSE
         Version 3, 29 June 2007
         
         Copyright (c) 2026 InkSim contributors
         
         InkSim is free software: you can redistribute it and/or modify it under the
         terms of the GNU General Public License as published by the Free Software
         Foundation, either version 3 of the License, or (at your option) any later
         version.
         
         InkSim is distributed in the hope that it will be useful, but WITHOUT ANY
         WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
         A PARTICULAR PURPOSE. See the GNU General Public License for more details.
         
         The full text of the GNU General Public License is available at
         <https://www.gnu.org/licenses/>.
         
         SPDX-License-Identifier: GPL-3.0-or-later
Requires-Dist: numba
Requires-Dist: numpy
Requires-Dist: pystitch
Requires-Dist: pyside6-essentials
Requires-Dist: pyopengl
Requires-Dist: tomli-w
Requires-Dist: filelock
Requires-Python: >=3.11
Project-URL: Homepage, https://github.com/oorteo/inksim
Project-URL: Repository, https://github.com/oorteo/inksim.git
Project-URL: Issues, https://github.com/oorteo/inksim/issues
Description-Content-Type: text/markdown

# InkSim

InkSim is a standalone embroidery simulator and preview renderer. It opens
embroidery files, shows the stitch sequence, and lets you inspect or replay a
design before production.

It is a normal Python desktop application installed from PyPI — **not** an
Inkscape extension.

<p align="center">
  <img src="https://raw.githubusercontent.com/oorteo/inksim/main/docs/assets/images/InkSim_colorful_small.png" alt="InkSim preview" width="250">
</p>

The viewer includes an **OpenGL textured renderer** that draws stitches as
realistic ribbon quads with normal-mapped thread and Blinn-Phong lighting. Press
`Z` in the viewer to toggle between the CPU and GPU renderers. The GPU renderer
requires **OpenGL 3.3**; older systems fall back to the
CPU raster renderer automatically.

<p align="center">
  <img src="https://raw.githubusercontent.com/oorteo/inksim/main/docs/assets/images/thread_texture.webp" alt="Thread texture detail" width="450">
  <br>
  <em>Detail of the normal-mapped thread texture used by the OpenGL renderer.</em>
</p>

## Install

```bash
uv tool install inksim
```

Requires Python 3.11+. See the [installation guide](https://github.com/oorteo/inksim/blob/main/docs/installation.md) for
`uv` setup and alternative installers.

## Run

```bash
inksim
inksim design.pes
inksim design.pes --play
```

On Windows, `inksim-gui design.pes` starts without a console window.

<p align="center">
  <img src="https://raw.githubusercontent.com/oorteo/inksim/main/docs/assets/basic_usage/010_basic_windows.webp" alt="InkSim main window" width="600">
</p>

## Documentation

- [Documentation index](https://github.com/oorteo/inksim/blob/main/docs/index.md)
- [Installation and running](https://github.com/oorteo/inksim/blob/main/docs/installation.md)
- [User guide](https://github.com/oorteo/inksim/blob/main/docs/user-guide.md)
- [Rendering modes and overlays](https://github.com/oorteo/inksim/blob/main/docs/rendering.md)
- [Inkscape / Ink/Stitch workflow](https://github.com/oorteo/inksim/blob/main/docs/inkscape-workflow.md)
- [Application interconnect](https://github.com/oorteo/inksim/blob/main/docs/interconnect.md)
- [Developer guide](https://github.com/oorteo/inksim/blob/main/docs/development.md)
- [Contributing](https://github.com/oorteo/inksim/blob/main/CONTRIBUTING.md)

## Background

The idea behind this tool dates back to 2013 with an experimental C++/Qt project
called Orca, which originally explored graph algorithms for Inkscape on Linux
before turning into a digitizer and stitch viewer. Here is an old recording of
that early prototype in action:

[Orca viewer demo](https://www.youtube.com/watch?v=VKle5ApsMnA)

**InkSim** is a fresh, standalone rewrite of that viewer concept -- built from
scratch using Python, PySide6, and Numba. The main goal is to provide a fast,
lightweight way to preview embroidery files without heavy overhead.

It was built to fill a small workflow gap, and it's shared with the hope that
others in the Inkscape and Ink/Stitch community might find it helpful as well.

Special thanks to the Ink/Stitch team and community for keeping open-source
embroidery alive and inspiring.

## License

InkSim is released under the [GNU General Public License v3 or later](https://github.com/oorteo/inksim/blob/main/LICENSE).
