Hacker News Viewer

JSON Canvas Spec

by tobr on 3/30/2026, 9:38:38 AM

https://jsoncanvas.org/spec/1.0/

Comments

by:

4/2/2026, 7:46:49 PM


by: whycombinetor

Previously posted in 2022 as Obsidian Canvas before being open sourced in 2024 <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=34066824">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=34066824</a>

4/2/2026, 7:50:54 PM


by: bryanrasmussen

It would be useful to have examples of data and the representation this would result in.<p>Although you can go to <a href="https:&#x2F;&#x2F;jsoncanvas.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;jsoncanvas.org&#x2F;</a> 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.<p>I sort of doubt this is the best data structure for representing this kind of thing. Maybe I&#x27;m wrong though but I would think I would go for something like <a href="https:&#x2F;&#x2F;github.com&#x2F;jsongraph&#x2F;json-graph-specification" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jsongraph&#x2F;json-graph-specification</a> 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)<p>This is all an initial feeling though, like hmm, no I think it&#x27;s wrong, and maybe I am just not seeing why this would be better than another solution.

4/2/2026, 6:35:03 PM


by: obsidianbases1

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

4/2/2026, 7:47:52 PM


by: Garlef

I&#x27;m not sure about this:<p>An &quot;infinite&quot; canvas without some notion of recursion such as viewports feels incomplete.

4/2/2026, 7:36:27 PM


by: makeitrain

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

4/2/2026, 6:28:31 PM


by: MoonWalk

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

4/2/2026, 6:53:27 PM