Giter VIP home page Giter VIP logo

pixel-sort's Issues

Allow multiple layers of sorting

The performance for sorting is already a challenge, so a cached/memoized function is a must. The sorting should only update when its own layer has changed, or the layer before it (of course recursive up the layer list).

Create mobile layout

  • Resize header
  • Remove references to dragging and dropping
  • Make the options panel a bottom sheet
  • Improve the ability to switch to original by holding

Performance: Divvy up regions of the image in the same image to multiple workers

Along the direction, we can split the workload of sorting. As long as no intervals are split, sorting results can be combined at the end.

This can be done by, if sorting vertically, take a certain amount of vertical strips and send that to another worker. Or potentially, just send intervals if the intervals can performantly be made in one worker in less time than it takes to serialize the entire image data into pieces.

Add a back or restart button

A full upload modal launched within the sort page could also work (original goal), but maybe simpler is better here

Add a canvas for drawing a mask for the sorting layer

Sorting can already be selective with thresholds. However, this relies on the user being able to find similar values in the subject that should have the glitch effect applied to.

Outside of thresholds, the user would have to isolate the subject in a photo editing program, sort that, and composite it with the original in a photo editing program again. This is probably ideal for someone that is using this seriously, but right now this app is just for playing around with, which makes this limitation annoying.

This will require a raster editing brush and eraser, and some method of enabling this mode.

Using the hard alpha of the mask canvas, the opaque pixels from the masked can serve as a lookup table for making a copy of the image data once, and then the copy of the image data can be sorted from then on out. I don't want to forget to make sure that we only copy the image data once for each selection for performance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.