Skip to content
tim h edited this page Jan 2, 2023 · 7 revisions

//todo

in order of "priority"/likelihood of me doing it

  • lots and lots of readme updates (ongoing)
  • completely redo the step-by-step with all of annette's very good suggestions because yeah it's awful
  • KEEP THE MANUAL UP TO DATE (ongoing, sorry 😞)
  • comment basically everything that isn't self documenting (ongoing)
  • CHORE: refactor all the duplicated JS code (ongoing, guaranteed to get worse before it gets better)
  • move overmask px control to base context menu
  • keyboard shortcuts for approve/reject (<>YN) [a mighty convenient workaround to prevent soft-lock if approve/reject controls are offscreen]
  • make it so approve/reject controls cannot live offscreen, they must stay here
  • overmask seam of img2img BUG: it kinda sucks currently, just moves the seam instead of fixing it, i want to try to gradient-fade the edge but filter = 'blur(Ypx)' is awful for this and my remedial per-pixel loops crash the browser because i am the embodiment of inefficiency
  • split out CSS to its own file (remedial cleanup task)
  • ability to blank/new canvas without making the user refresh the page because that's pretty janky
  • add error handling for async/XHR POST in case of, yknow, errors
  • image erase region in case you decide later that you're not too happy with earlier results (technically i guess you could just mask over the entire region you dislike but that's... bad)
  • controls for the rest of API-available options (e.g. hires fix, inpaint fill modes, etc) //...what else is left? 🤔
  • save user-set option values to browser localstorage to persist your preferred, uh, preferences
  • render progress spinner/bar
  • make render progress bar prettier
  • smart crop downloaded image
  • import external image and scale/ superimpose at will on canvas for in/outpainting
  • scaling of imported arbitrary image before superimposition
  • "numpad" selector for determining how reticle is anchored against actual mouse cursor (currently works like a "5" [center] on the "numpad" paradigm) // is this even useful? sounds more like a solution in search of a problem -- yeah #wontfix
  • discrete size control for mask and target reticle, discrete x/y axes for reticle
  • floating/togglable menu leftnav bar with categorized/sensibly laid-out options
  • infinite canvas
  • global undo/redo
  • inpainting sketch tools
  • split out JS to separation-of-concerns individual files (oh no)
  • something actually similar to a "user interface", preferably visually pleasant and would make my mom say "well that makes sense" if she looked at it
  • eventually delete the generated mask display canvases at the bottom of the page, but they're useful for debugging canvas pixel offsets sometimes
  • see if i can use fewer canvases overall; seems wasteful, canvas isn't free yknow
  • upscaling output canvas??? sure let's make 16k wallpapers that'll be neat
  • honestly probably refactor literally everything
Clone this wiki locally