TeamPictonode/pictonode

Tracking issue for usable alpha

notgull opened this issue · 1 comments

Right now, the current app consists of a handful of disparate parts. This issue aims to provide a way for future work to be organized in such a way that we can have a usable alpha of this program in the near future.

End Goal

Before we move forward I would like to have the following in place:

  • A decently stable web frontend with an accurately node display and the ability to communicate with the backend. You will be able to import images, run them through a node processor, and receive a new image as output.
  • A GIMP plugin that uses a similar format to communicate with a similar backend that is spawned on the local machine.
  • A backend that receives data from both frontends and uses that to process images.
  • Supporting libraries for all of the above.

Web Frontend Tasks

  • Reorganize the code to fit Vue in a much more idiomatic way (cc @meredith-grace)
  • Communicate with the backend server to process nodes. (#53, #58)

GIMP Frontend Tasks

  • Implement additional CI/CD for plugin development
  • Implement plugin development environment support for linux (#36)
  • Solidify plugin entry point and plugin application loop (#37)
  • Implement a node-based interface using gtknodes or otherwise (#24).
  • Add image pipelining capabilities. (#60)

Backend Tasks

  • Translate all images to a single processing format (maybe AVIF? Might not be supported in all browsers. Maybe match on it?) (#34)
  • Implement at least one image operation (probably compositing?) (#58)
  • Rewrite backend in Python (#47)

Supporting Libs Tasks

  • Add output node to libnode serialization format (libnode and libnodepy) (#28)
  • Potentially port libnode to C++ to support C++ porting effort. We're not moving in this direction anymore.
  • Expose final output node format in serialized libnode format (#28).
  • Implement total node unlinking for nodes.

Misc Tasks

  • Configure the CI system to test more of the program's surface.

Incomplete list, I'll add more as I think of them.

With #60 and @meredith-grace's unmerged commits, we've reached our goal here. Good job, everyone!