Once upon a time, there were no nodes, the world was still simple then.
There were main menus, context menus, input fields, keyboard shortcuts, etc. and the highest of feelings were a few lines of Python code. That's probably when the style guide on BSE evolved.
But then came nodes.
And more and more came.
And no one thought to consider a new style element for it consistently!
As surely some of you might have noticed, in all my posts I write the names of the Geometry Nodes available in Blender in backticks
.
Why do I do this?
I have noticed with some test persons (primarily beginners and students) that there is much less misunderstanding, because it is always clear that a certain node is meant.
I generally understand the desire not to use this kind of formatting in other posts, especially when it really is about code, or just to highlight certain parts of the text.
In the case of Geometry Nodes, however, we are dealing with a universe all its own.
There is no code here, there are no submenus scattered anywhere in the game, here we have a playground largely separated from all other areas.
The problem I see here is that in my experience the recognizability of input values, socket identifiers (inputs/outputs), and node identifiers are given too little distinctiveness if you don't allow formatting with backticks. Writing the name of a node in italics or bold is not a solution and only causes confusion.
For example, I do not distribute points on faces, no, I use the node Distribute Points on Faces
. And if I mean a certain input of this node, then I write e.g. Distance Min. This is clearly stated in the universe of Geometry Nodes and does not get in the way of a nice line of code.
I ask for some thought and discussion here before another one of my posts becomes a victim of styleguide corrections and I have to revert these changes.
My goal is that the current style guide states: "Use backticks only to mark up code, or when you want to express a particular node.".
Another possibility I see is a new formatting tag, such as <node></node>
.
I'll use a concrete example:
In this text I write:
- So that I can also control the rotation of the object, I use the Tilt property of the curve. However, so that the value defined via Group Inputs also always generates a rotation from one end to the other end of the arc, I use the node
Map Range
and feed it additionally with the value Factor, which the nodeSpline Parameter
gives me.
Here you can see that I mean the Group Inputs, but not the node Group Input
. I could of course write Group Input and Group Inputs, but the difference would then no longer be clear from the text in extensive descriptions.
However, writing a node in italics is not practical because it is quite possible to mention a node in an italicized text.
Here I mean the Node Cube, and not the Cube created before.
But i could write:
Here I mean the Node Cube, and not the Cube created before.
But bold text should not be used to highlight nodes, as this type of highlighting should rather mark places in the text that are of appropriate importance.
Furthermore, I write in the example above:
PS: I have hidden some of the irrelevant sockets to save some space. You can show them again with the key combination CTRL+H.
But I could also write:
PS: I have hidden some of the irrelevant sockets to save some space. You can show them again with the key combination CTRL+>H.
Or even:
PS: I have hidden some of the irrelevant sockets to save some space. You can show them again with the key combination CTRL+>H.
Why don't I do that?
Quite simply because a key is something that, although it is actually quite clear and understandable in the text, is a kind of marker and reading aid when someone is trying to follow instructions and filter out the essential steps from a text.
This has been common practice here for a long time, and it makes sense.
But now it's time to create such markers for nodes as well, since the existing stylistic means are not sufficient in my opinion.
Or a fictional example:
Create cubes with the Node Cube and instantiate them with Instance on Points at the corners of your cube previously created with Cube. Then instantiate them on the grid you created with the Node Grid.
It would be better to write:
Create cubes with the Node
Cube
and instantiate them withInstance on Points
at the corners of your cube previously created withCube
. Then instantiate them on the grid you created with the NodeGrid
.
Here is another fictional example:
Plug the geometry from Group Input into the input Geometry of Group Output to make your geometry visible with Geometry Nodes.
Plug the geometry from
Group Input
into the input Geometry ofGroup Output
to make your geometry visible with Geometry Nodes.
Summary
Thanks to Duarte Farrajota Ramos for the wonderful picture!
In summary, the question "Backticks or no backticks?" can be answered with the following words:
The code is more "guidelines" rather than actual rules.
There are (especially here on Stackexchange) obviously at least two dominant camps of users:
- One relies on structures and approaches that have grown over a long time and are generally considered proven and stable. This tends to be the logical type (I won't say "older").
- The others (mostly younger users) are fast-moving and flighty and are used to "skimming" texts and are dependent on certain "markers" that, from their point of view, increase the readability or comprehensibility of a more complicated text. This tends to be more the visual type.
In fact, it's not about breaking or following rules, but about providing purposeful answers.
The solution is what matters, not the backticks!
So, strictly speaking, this question remains unanswered, but not because there are too few profound positions on it, but because we humans are simply too different to lump them all together.
Different generations, and different learning types, different cultures & perspectives.
And that's a good thing! Long live diversity!