To Do

  1. Basic features.
    1. Incorporate ed parts of .
    2. Interpret how to write formats that have a read mode from the source code and vice versa.
    3. Document the specifics of the file formats here for embroidery machine specific formats. Find websites and other sources that break down the binary formats we currently don’t understand.
    4. Find more and better documentation of the structure of the headers for the formats we do understand.
  2. Code quality and user friendliness.
    1. Document all structs, macros and functions (will contribute directly on the web version).
    2. Incorporate experimental code, improve support for language bindings.
    3. Make stitch x, y into an EmbVector.
  3. embroider CLI
    1. Make -circle flag to add a circle to the current pattern.
    2. Make -rect flag to add a rectangle to the current pattern.
    3. Make -fill flag to set the current satin fill algorithm for the current geometry. (for example ``-fill crosses -circle 11,13,10’’ fills a circle with center 11mm, 13mm with radius 10mm with crosses).
    4. Make -ellipse flag to add to ellipse to the current pattern.
    5. Make -bezier flag to add a bezier curve to the current pattern.
  4. Documentation
    1. Create csv data files for thread tables.
    2. Convert tex to markdown, make tex an output of build.bash.
    3. Run sloccount on extern/ and . (and ) so we know the current scale of the project, aim to get this number low. Report the total as part of the documentation.
    4. Try to get as much of the source code that we maintain into C as possible so new developers don’t need to learn multiple languages to have an effect. This bars the embedded parts of the code.
  5. GUI
    1. Make MobileViewer also backend to libembroidery with a Java wrapper.
    2. Make iMobileViewer also backend to libembroidery with a Swift wrapper.
    3. Share some of the MobileViewer and iMobileViewer layout with the main EM2. Perhaps combine those 3 into the Embroidermodder repository so there are 4 repositories total.
    4. Convert layout data to JSON format and use cJSON for parsing.
  6. Electronics development
    1. Currently experimenting with Fritzing (, upload netlists to embroiderbot when they can run simulations using the asm in libembroidery.
    2. Create a common assembly for data that is the same across chipsets libembrodiery_data_internal.s.
    3. Make the defines part of embroidery.h all systems and the function list “c code only”. That way we can share some development between assembly and C versions.

Copyright 2013-2021 The Embroidermodder Team