Open Canvas Working Group logo

Open Canvas Working Group

Subscribe
Archives
June 5, 2024

Meeting №5 Recap

Designing extensible canvas format for interoperability, discussing spec draft, nodes/relations, handling deletions, assets, usage scenarios.

If you have any questions, comments, or corrections, please add them to the discussion post on GitHub.

The shared goal for the group is to design a least-common denominator extensible format that sits between visual and structural canvases, allowing them to interoperate.

Meeting № 5 Summary

Here's the recording of the meeting, if you'd like to watch.
Here's a transcript of the meeting, if you'd prefer to read.

Summary

Here are the collaborative notes from TLDraw taken during the meeting:

Whiteboard notes for OCWG Meeting No 5
  1. Spec Draft Discussion - The majority of the meeting focused on discussing the draft specification hosted on GitHub. The draft outlines the file format and initial data structure but lacks detailed decisions on encoding specific information such as coordinate origins and orientation.
  2. Extensibility and Schemas - The group discussed the challenges of making the specification extensible to support various canvas types. The proposed solution involves using schemas to define object properties, allowing for schema extension to add additional properties. This concept aims to create a "markdown for canvases" with extensibility built-in.
  3. Nodes and Relations - A significant discussion point was the separation of visual representation (nodes) from conceptual relationships (relations). Three core types of relations were identified: sets, edges, and hyper-edges.
  4. Handling Deletions - The complexity of managing deletions in an extensible schema was highlighted. The suggestion was made to remove relations for which all dependencies are missing (e.g. a group whose members have since been deleted). A potential solution was discussed of maintaining a list of object IDs and removing items from that list to indicate deletion.
  5. Assets and External Content - The group explored the handling of assets like images and videos within the canvas. The idea is to support external assets based on mime-types and URIs, taking advantage of existing web standards as much as possible. Questions were raised about how to incorporate external assets to canvas schemas, and whether they'd be better handled on a per-shape basis without an explicit asset schema.
  6. Context and Usage Scenarios - There was a discussion about different contexts in which the canvas specification could be used. The goal is to make the specification versatile enough to support various tools and scenarios, from visual programming to embedded components and beyond.

Recent Discussions

Some discussions started in the OCWG GitHub org:

  • [visual-programming] support for nodes with multiple input/output ports
  • [spec] Move extensiblity from nodes/relations to child property-maps of nodes/relations
  • [spec] Non-visual nodes
  • [spec] Order-/ list-relation type

The next meeting is scheduled for June 18, 2024 @ 11:30am ET.

Don't miss what's next. Subscribe to Open Canvas Working Group:
GitHub https://canvasproto…