JSON Canvas Spec

(jsoncanvas.org)

46 points | by tobr 3 days ago ago

11 comments

  • bryanrasmussen an hour ago ago

    It would be useful to have examples of data and the representation this would result in.

    Although you can go to https://jsoncanvas.org/ itself and see an example rendering, you cannot see the exact data that created it - I think, although you can sort of guess since the element names are stuff like node.

    I sort of doubt this is the best data structure for representing this kind of thing. Maybe I'm wrong though but I would think I would go for something like https://github.com/jsongraph/json-graph-specification which strikes me as closer to graphml which I have some experience with, and maybe give it ability to embed videos etc. (which for all I know someone already has)

    This is all an initial feeling though, like hmm, no I think it's wrong, and maybe I am just not seeing why this would be better than another solution.

    • kepano an hour ago ago

      You can see the data it created. Just click "Toggle output" in the bottom right corner.

      • bryanrasmussen 36 minutes ago ago

        ah ok, sorry about that. I didn't really look at that part of the UI much, noticed it had some zoom stuff, noticed I couldn't zoom normally and scroll to where I wanted to read, was somewhat miffed.

  • whycombinetor 14 minutes ago ago

    Previously posted in 2022 as Obsidian Canvas before being open sourced in 2024 https://news.ycombinator.com/item?id=34066824

  • obsidianbases1 17 minutes ago ago

    I've used canvas quite a bit since it was release in Obsidian. It's good, not great, but the simplicity of the file type opens up a lot of opportunities to build on top of it.

  • Garlef 28 minutes ago ago

    I'm not sure about this:

    An "infinite" canvas without some notion of recursion such as viewports feels incomplete.

    • kepano 10 minutes ago ago

      A file node can be a .canvas, so a .canvas can have nested canvases.

      Obsidian's implementation of JSON Canvas supports this.

  • makeitrain 2 hours ago ago

    Looks cool. I recently hit some limits with mermaid and this seems a little more flexible.

  • MoonWalk an hour ago ago

    Are pixels really the best way to encode position at this point?

    • 9wzYQbTYsAIc 10 minutes ago ago

      I’m playing with 3d positions derived from higher dimensions, right now.

    • Garlef 40 minutes ago ago

      Agreed.

      The upside is that it does not leave the most important aspect open to interpretation.

      But it prevents this from being text-only at the point of creation:

      You'll most likely need some programmatic environment to create non-trivial diagrams.

      But then the question is: Why not just an SVG instead?