The spreadsheet editor allows users to debug and navigate the data in the Blender file. That includes object geometry as well as scene data such as objects.
- Inspection of data.
- Fast display of missions of rows.
- Write and read-only.
- One data-set at a time
- Multiple view modes
What is the Context
It always shows all the available data for the active context.
- To compare different datasets users need to open multiple editors
It shows different data (columns) based on the mode.
- All the available attributes
- All the lamp RNA properties
It shows original (editable), driven, overridden and linked data.
Example of View Modes:
- Modifier Geometry
- Node Geometry
- Scene Objects
- Collection Objects
What to show
Outliner-like region to select which data to show for a given view mode.
|Mesh → Point
|Objects (Object Properties)
|Mesh → Edge
|Lamps (Lamp Data)
|Volume → Voxel
|Cameras (Camera Data)
|Curve → Splines
|Curve → Control Points
|Grease Pencil → ...
The amount of properties for each one of these view modes is a lot. The idea is to show only a handful of hand picked ones, and let users expose (or hide) more properties.
What to hide
The row filters are aimed for continuously debugging and inspecting the data. As such they are not designed to be easily dismissed. But instead to be a constant presence in the side bar where users can tweak values and see more/less data.
- Selected (Vertices, Objects)
- Cells Value Outside Range
It is important to keep the separation of UI and user data, and to only store "strings" in the editor, when referring to attributes. This way the same spreadsheet editor can be used for different objects and still have the same filters working.
- Column Name
When filtering the data it is important to tell users what is the information that is being left out. The status bar inside the editor is intended for that and inspection of selected cell.
- I as a teacher want to see/edit vertices and weightgroup to know what happens when I weightpaint.
- I as a lighting artist want to see/edit the power of all the lights to prevent overexposure.
- I as a rigger want to find which vertices belong to which group to find why a vertex moved.
- I as a set dresser want to see the random value of a point to debug the rotation of instances.
- I as an animator want to set "drivers" visually by selecting values from different objects in the spreadsheet to inspect the relation between the objects.
- I as a set dresser want to see if my geometry has points to know when instances become real to optimize my nodetree.