Skip to content

Roadmap

Konstantin Kichinsky edited this page Mar 11, 2019 · 6 revisions

Canvas Tools V2 (Current)

Selection modes

  • Points
  • Rect-copy (template)
  • Polylines
  • Polygons
  • Make the rect-edges draggable
  • TODO: Merge the two-point rect-selection with the click and drag approach

Code/structure

  • Wrap into npm package
  • Package into one file (webpack)
  • Refactor code-base (split/extract classes, organize folders, etc.)
  • Wrap sample code into one Editor class
  • Add tslining
  • Add jsdocs (comments)
  • TODO: Add automated testing/building + CI process
  • TODO: Fix Edge compatibility issues

Presentation/styling

  • New presentation modes: freeze, toggle background
  • Filters pipeline + basic filters
  • Add toolbar UI + organize keyboard shortcuts
  • TODO: Update toggling backgroung UI/styles

Optimization

  • Rewrite sorting regions to sort in-place
  • TODO: Align usage of requestAnimationFrame

Documentation & samples

  • TODO: Update docs
  • TODO: Update sample

CanvasTools VNext (3+)

Note: It is early ideation based on various request without specific timeframes defined and no prioritization done yet.

Selection modes

  • Simplify selection/tagging for small objects
  • Lasso / pen (for image segmentation)
  • 3D selection (Cube, Free skeleton)
  • Pen support
  • AI-assistant selection
  • Timeline tagging (Video events)
  • Audio-spectrum tagging
  • "Image masks" to exclude zones from selection
  • Masks generation (generate masks for regions (for image segmentation))

Code/structure

  • Add accessibility checks/fixes
  • Add cross-browser support
  • Add plugin system for selectors/regions, toolbar and filters
  • Extract keyboard shortcuts management into a separate module/package
  • Align/optimize styles (e.g., use css vars)
  • Allow styles customization
  • Add operations/commands history management (undo/redo) -- should be done on the app level
  • Add endpoints for localization

Presentation/styling

  • Integrate video-player for video content?
  • Rewrite filters with shaders/wasm + web workers
  • Advanced toolbar to manage pipelines, modes, etc.
  • Update region menu for in-place edits
  • New inclusive and adaptive (dynamic) coloring schemes
  • Zooming, rotating, etc. + minimap
  • Presentation for hierarchical tags?
  • Add editor themes (light/dark)

Optimization

  • Remove the SnapSVG library dependency (direct work with SVG with a simple wrapper)
  • Downscale large images at edit phase

Documentation & samples

  • Update docs
  • Add more samples for various use cases