Skip to content

Roadmap

KiCanvas is very early in its development and there's a ton of stuff that hasn't been done. The current top priority is parsing and rendering, while the next focus will be the embedding API.

Here's a non-exhaustive roadmap:

  • Core functionality
    • kicad_sch parser
    • kicad_pcb parser
    • kicad_wks parser
    • kicad_pro parser
    • Rendering KiCad 6 schematics
    • Rendering KiCad 6 boards
    • Rendering KiCad 6 text
    • Rendering worksheets
    • Loading hierarchical schematics
    • Rendering KiCad 7 schematics
    • Rendering KiCad 7 boards
    • Rendering KiCad 7 text
    • Rendering bitmap objects
    • Rendering custom fonts
  • Viewer functionality
    • Pan/zoom
    • Zoom to page
    • Zoom to selection
    • Cursor position
    • Page information
    • Symbol selection
    • Footprint selection
    • Inspecting selected symbols and footprints
    • Footprint filtering
    • Symbol filtering
    • Board layer selection and visibility
    • Board net selection
    • Board net filtering
    • Board object visibility controls
    • Board trace selection
    • Board zone selection
    • Copy selected item for pasting into KiCad
    • Theming
    • Onion view
  • Standalone web application (kicanvas.org)
    • Project viewer
      • Loading files and projects from GitHub
      • Navigating hierarchical sheets
      • BOM view
      • Deep linking
    • Symbol library browser
    • Footprint library browser
    • Assembly guide
    • Mobile UI
  • Embedding API
    • Non-interactive document embedding
    • Interactive document embedding
    • Fragment embedding
    • Deep linking
    • Footprint embedding
    • Symbol embedding
    • Assembly guide embedding
  • Integrations
    • MkDocs/Python markdown integration
    • Jupyter integration
    • Sphinx integration
  • Browser compatibility
    • Chrome
    • Firefox
    • Safari
    • Chrome (Android)
    • Firefox mobile
    • Safari mobile

Non-goals

KiCanvas also has a list of specific non-goals. At this time, we won't be adding:

  • Editing of any kind - KiCanvas is read only and that assumption is baked deeply within the code.
  • Offline rendering
  • 3D board and component rendering
  • Server-side usage
  • Comparison/visual diffing
  • Specific integrations with front-end frameworks (React, Vue, etc.) - KiCanvas is built using Web Components and should work out of the box with all web frameworks.