-cubmap / texture -> convert to / from properties
-Removing properties not creates inline nodes
-Nicer names for newly created properties
-Drag texture to graph now creates 2d sampler node
-Drat normal map to graph sets up 'normal map' state
-Create shader graph now creats a default PBR node
-
* Move previewMode to RenderData instead of ShaderData (still some to do here, as apparently there's still a RenderData _and a_ ShaderData per node, but the intention was to have a RenderData per node and then share ShaderData between those)
* Introduce a temporary identifier for nodes. The first part of this identifier is an index (`int`) which is assigned linearly. When a node is deleted, its identifier as added to a free list. Each identifier also contains a version (`int`), which is incremented when the identifier is re-used. This allows us to replace usage of Dictionary with List in a lot of places.
* Introduce IndexSet for efficiently storing and manipulating a list of indices (e.g. from temp IDs). Internally this stores a list of 32-bit integers and uses each bit to represent 1 index. The operations of `ISet<int>` are implemented for this type, although that interface does not exist in Unity. The operations are very fast and cac...
- Separate Master node requirements into per-slot stages
- Add shader stage option to IMayRequire interfaces
- Remove uneeded intermediate spaces from surface description
- Change orthonormal basis to world