Source/Editors/Spreadsheet

Spreadsheet Editor

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.

Core features

  • Inspection of data.
  • Fast display of missions of rows.
  • Write and read-only.
  • One data-set at a time
  • Multiple view modes
Spreadsheet editor big picture

View Mode

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:

  • Object
  • Geometry
  • Modifier Geometry
  • Node Geometry
  • Scene Objects
  • Collection Objects

Data Sets

What to show

Outliner-like region to select which data to show for a given view mode.

Object Geometry Scene
Bones Mesh → Point Objects (Object Properties)
Materials Mesh → Edge Lamps (Lamp Data)
Shapekeys 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.

Filters

What to hide

Rows

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

Columns

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
  • Category


Status bar
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.


Mockups

Spreadsheet editor mockup

Spreadsheet-editor-display-filters.png

Spreadsheet-Editor-Rules-Mockup.png


User Stories

  • 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 dresserwant to see if my geometry has points to know when instances become real to optimize my nodetree.