Here is 2 versions of an OSL texture that I wrote.
The first is a very simple tile texture (just a color mask) and the second is the same thing but with beveled and rounded corners.
However, have you an idea how to improve the interface ? Instead of use an INT value to choose the corner type, It will be interesting to have a list that contain values like: None, Beveled, Rounded. Is it possible with OSL ?