JSON Canvas Spec

53 points - last Monday at 9:38 AM

Source

Comments

kepano today at 8:09 PM
I'm not sure why it popped up today, but it's nice to see it on HN again! A brief timeline with some links to past discussions:

- 2022: The .canvas open format was created for Obsidian Canvas [0].

- 2024: Official 1.0 spec of JSON Canvas [1].

- 2024-2025: A number of apps/libraries built up around conversion, storage, and import/export [2].

- 2026: Obsidian Skills [3] includes support for .canvas (along with .md and .base) to make it easy for LLMs to read/write JSON Canvas, and opens interesting visualization/interaction patterns with agents.

[0]: https://news.ycombinator.com/item?id=34066824

[1]: https://news.ycombinator.com/item?id=39670922

[2]: https://jsoncanvas.org/docs/apps/

[3]: https://github.com/kepano/obsidian-skills

bryanrasmussen today at 6:35 PM
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.

mort96 today at 8:49 PM
I feel like this page does a good job of telling me nothing. It's a representation of a graph? Where each node can be a text string or a file or a URL or a container of other nodes? And somehow these links and files and containers have a color? What is the purpose of this? Why would I want my file to be blue?
deleted today at 7:46 PM
whycombinetor today at 7:50 PM
Previously posted in 2022 as Obsidian Canvas before being open sourced in 2024 https://news.ycombinator.com/item?id=34066824
obsidianbases1 today at 7:47 PM
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 today at 7:36 PM
I'm not sure about this:

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

makeitrain today at 6:28 PM
Looks cool. I recently hit some limits with mermaid and this seems a little more flexible.
MoonWalk today at 6:53 PM
Are pixels really the best way to encode position at this point?