I am a newcomer and certainly not a professional. Don’t take anything I’ll say too seriously.
Also, English is not my native language.
This seems interesting, but I have a ton of questions.
Are the pen painting colors or materials ? By that I mean two things: are colors just overwriting what is beneath them, or do they mix ( and how they mix will be influenced by the material). The second is the export of the painting to any other support than a screen. You can have a painting representing a river and a rock and the river will reflect light differently.
This is especially true for materials in 3D: the metal will not reflect light like the wood or some plastic.
From the point of view of the pen/surface, it would only be another data to store, alongside the color.
The natural evolution of that is to separate the presentation of the information and the information itself.
You would have the layer(s) containing the data, the layer displaying it and a formula to mix the incoming data from the pen, and what is already there in the layer.
In it’s basic form it would look like “data=rgba, display=show data directly, mix=erase”
A slightly different one would be “data=hsl, display=hls_to_rgb”, with a smart mix ( the data sent by the pen can indicate what is the desired action: darken, brighten, desaturate etc )
And a more complex one would just pull the fragment shader, so you can composed your informations and see the result you’ll have at the end.
But it was originally a question and it became that …
Anyway, the question was: what kind of data is the pen painting? (Sorry for the long post)
What kind of color space is supported ? ( RGB of course but: hsl, HSV, cymk, ciel, paleted colors … )
Is the notion of layers built-in that ?
I have difficulties seeing where the API starts and ends and where the software starts and ends. What in the video is built on top the API but is not part of it, and what is actually part of the API ?
What are the typical use cases of this API ? Isn’t that a bit redundant with already existing softwares proposing that kind of functionality?