Skip to content

Instantly share code, notes, and snippets.

@mattdesl
Last active October 13, 2019 12:44
Show Gist options
  • Save mattdesl/cc7beee816c7301764eba13f5e3bd6a9 to your computer and use it in GitHub Desktop.
Save mattdesl/cc7beee816c7301764eba13f5e3bd6a9 to your computer and use it in GitHub Desktop.
Wishlist for canvas-sketch@1.0

canvas-sketch 1.0 Wishlist

  • Parcel backend instead of browserify
  • Better support for non-canvas sketches, e.g. rendering SVG or plain data sketch
  • Better support in Glitch.com and similar sandboxes
  • GUI parameters using decorator pattern in code
  • HUD for things like timeline, rulers, play/pause button, frame number, etc
  • Better p5.js support out of the box (copy + paste p5.js references should work)
  • Environments:
    • Browser
    • Node.js
    • Electron
    • puppeteer
  • FFMPEG included
  • Smart auto-installer for undefined modules
  • Website + Docs online
  • Runnable Examples online
  • Simpler Canvas2D → Pen Plotter workflow
  • Render function should be able to be async
  • Tiled rendering for large outputs
  • Able to render a single frame over time; e.g. generative visuals that have to render 100 times for each 1 PNG frame, and then combine into many frames for an animation
  • More robust render loop: physics, time step, etc.
  • Easier startup for non-coders, maybe wrap canvas-sketch in an app?
  • Explore WebAudio encoding in MP4
  • Provide examples for common creative coding exercises: webcam, video input, images, etc.
  • Possibly explore 32-bit float export for generative visuals
  • Utilities for inputs
    • Serialport / Analog
    • OSC
  • Expose canvas-sketch server as a middleware so it can be used in plain express app
@TheMapSmith
Copy link

Super excited to see this wishlist! canvas-sketch is a joy to use and makes generative art fun and easy.

With regards to "Render SVG", one thing I've wanted to use in my sketches is https://roughjs.com/ to "sketchify" my clean cavnas lines. Would a pipeline to HTML/SVG allow that to be inserted?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment