Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom node types or additional metadata? #13

Open
JeffersonBledsoe opened this issue Mar 12, 2024 · 2 comments
Open

Custom node types or additional metadata? #13

JeffersonBledsoe opened this issue Mar 12, 2024 · 2 comments

Comments

@JeffersonBledsoe
Copy link

The current node types cover alot of cases, but currently seem to be text/ file focused. How would you use JSON Canvas to build something like an audio editor such as PureData or Max/ MSP?

@nichtich
Copy link

Thanks for references, I did not know about these visual audio editors before. This looks similar to visual programming languages such as Scratch and Yahoo Pipes. I thinks it makes sense to broaden this issue to these kinds of tools where nodes on a canvas are connected via edges as well but both nodes and edges can have specific properties.

Another related model is labeled property graphs where each node and edge can have types (aka labels) and properties (arbitrary key-values).

The easiest way to support additional properties would be to introduce a properties field with a JSON object. Open questions are whether fields such as x ,and y have special meaning in properties and which kind of values should be allowed (single scalars, uniform arrays, any JSON structure).

@JeffersonBledsoe
Copy link
Author

I thinks it makes sense to broaden this issue

Couldn't agree more! Personally, having a fairly fixed definition of positioning and grouping of nodes in a canvas (such as with the x and y fields) is the biggest strength to the spec and so they should continue to be treated as special cases. In my head, the custom properties field is an escape hatch for developers to add whatever additional information they need, and so any fields inside it shouldn't be treated as special and the fields that do specific things defined by the specification should be surfaced outside of the properties field.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants