Many thanks for your questions, you are absolutely right that there are some components which are not documented yet. We will add examples in the near future, for now let me explain in the following:
The JSON components allow you to make your model dependent on much more complex input data than just numbers, strings, colors, etc. You can use the ShapeDiverTextInput component to feed a JSON string into your model, which you can then parse using ShapeDiverJSONParse, ShapeDiverJSONAccess, and ShapeDiverJSONConvert. Such an input typically makes sense only if the ShapeDiver viewer gets embedded into a custom user interface, and enables powerful 3D configurators to be created. The following screenshot shows an example, reading vertex coordinates of a polyline:
The ShapeDiverDataOutput component allows you to define data outputs which are not visible in the viewer, but which can be queried via our viewer API: https://www.shapediver.com/api#getModelData
This can be used for price calculations, bill of materials, etc. In the most simple case, just feed a number or string into the data output. You can have many of them, but you should rename the components such that you can identify the values again when querying them via the viewer API.
By using the ShapeDiverJSONConstruct component, you can construct JSON objects and feed them into a data output, which will result in a JSON string.
Grasshopper models do not store a tolerance setting, only Rhino documents do that. This means by default you have no possibility to control which tolerances will be used when running your Grasshopper models on ShapeDiver. Use the ShapeDiverTolerance component to overcome this limitation. Simply add it to your Grasshopper model (only once), and statically define the tolerance values you want to use. When you upload your Grasshopper model to ShapeDiver, we will set these tolerance models in Rhino whenever your model is run.