- You actually have at least four diff states you need to visualize, it's like a matrix. One axis is boolean operations (add, sub etc) the other axis is difference between revisions. For example it's hard to see form the diff if material was added or removed between revisions. You can naturally just highlight where things changed but it's a trade off you need to consider carefully and probably sketch out the most common use cases.
- I thought for a long while that transparency is an easy way to solve problems like showing diffs. My more graphics savvy co-founder managed to convince me that transparency is usually not a good solution. When you have a transparent surface on top of another surface it feels like you can suddenly get more information on the screen. However, this is obviously not true, you still have 24 bits of color information on the screen however you slice it. What is happening is that you have divided your bits between the front surface and anything behind it. Our experience is that users have a very hard to grasping even basic 3D shapes on a 2D monitor, making it harder using transparency is usually not beneficial.
- If you want to do transparency right you need to do something about the render order, I noticed you are rendering the transparent surfaces in a fixed order.
If you haven't checked it out already take a look at our project Tinkercad at http://tinkercad.com. Even if the UI uses a direct manipulation paradigm the underlying operations tree is isomorphic with OpenSCAD.
- You actually have at least four diff states you need to visualize, it's like a matrix. One axis is boolean operations (add, sub etc) the other axis is difference between revisions. For example it's hard to see form the diff if material was added or removed between revisions. You can naturally just highlight where things changed but it's a trade off you need to consider carefully and probably sketch out the most common use cases.
- I thought for a long while that transparency is an easy way to solve problems like showing diffs. My more graphics savvy co-founder managed to convince me that transparency is usually not a good solution. When you have a transparent surface on top of another surface it feels like you can suddenly get more information on the screen. However, this is obviously not true, you still have 24 bits of color information on the screen however you slice it. What is happening is that you have divided your bits between the front surface and anything behind it. Our experience is that users have a very hard to grasping even basic 3D shapes on a 2D monitor, making it harder using transparency is usually not beneficial.
- If you want to do transparency right you need to do something about the render order, I noticed you are rendering the transparent surfaces in a fixed order.
If you haven't checked it out already take a look at our project Tinkercad at http://tinkercad.com. Even if the UI uses a direct manipulation paradigm the underlying operations tree is isomorphic with OpenSCAD.