# workbook objects

19 object kinds across 3 families: 17 supported, 1 planned, 1 not yet built.

a workbook is cells plus objects: a chart, an image, a control, a table region: a structured spec + range-refs + an anchor, never cell data. deepcalc mirrors excel and google with ONE canonical, journaled, versioned object.

## grid objects

float over the grid on the drawing layer, a chart, an image, a control.

- [chart](https://deepcalc.com/docs/objects/chart.md): a chart drawn from cell ranges, sixteen native types from bar to boxplot, plus facets, anchored over the grid; unpinned decisions (formats, baseline, sort, size) compile from column semantics. (supported)
- [control](https://deepcalc.com/docs/objects/control.md): an interactive input bound to one cell, number, slider, dropdown, checkbox, date or text, rendered on the published page. (supported)
- [image](https://deepcalc.com/docs/objects/image.md): a picture anchored over the grid; the pixels live in content-addressed storage and the object carries only their key. (supported)
- [map](https://deepcalc.com/docs/objects/map.md): a choropleth over a region set (us states, us counties, world countries), drawn from a key range and a value range, rendered by us, not by Bing. (supported)

## structured regions

a named range with behaviour, tables, pivots, filter views, protected ranges.

- [filter-view](https://deepcalc.com/docs/objects/filter-view.md): a filter over a range, the dropdown arrows, plus any criteria and sort saved with them. (supported)
- [form](https://deepcalc.com/docs/objects/form.md): a public form over a table range, a submission is an ordinary ops batch, so every response is journaled, attributed, diffable, revertable and moderatable through branch policy. (supported)
- [merged-range](https://deepcalc.com/docs/objects/merged-range.md): cells merged into one, a report header spanning its columns. (supported)
- [named-range](https://deepcalc.com/docs/objects/named-range.md): a name bound to a range, =SUM(Revenue) instead of =SUM(B2:B13), usable anywhere a reference is. (supported)
- [pivot](https://deepcalc.com/docs/objects/pivot.md): a pivot table that groups and aggregates a source range, fields named, not indexed, with the source and the output region both rebasing. (supported)
- [protected-range](https://deepcalc.com/docs/objects/protected-range.md): a sheet's protection declaration, the sheet-level lock plus each individually protected range. (supported)
- [table](https://deepcalc.com/docs/objects/table.md): a named region with a header, an optional totals row and per-column totals functions, anchored over a cell range. (supported)

## cell-attached rules

attached to a cell, not a value nor a floating object, validation, formatting, sparklines, comments.

- [comment](https://deepcalc.com/docs/objects/comment.md): a threaded discussion anchored to a cell, the comment, its replies and whether it is resolved. (supported)
- [conditional-formatting](https://deepcalc.com/docs/objects/conditional-formatting.md): cell styling driven by rules over the cell's value, thresholds, colour scales, data bars, icon sets. (supported)
- [data-validation](https://deepcalc.com/docs/objects/data-validation.md): a per-cell input rule, a dropdown list, a number bound, a date, applied to one or more ranges. (supported)
- [developer-metadata](https://deepcalc.com/docs/objects/developer-metadata.md): hidden key/value metadata attached to a sheet, row or column. (planned)
- [entity](https://deepcalc.com/docs/objects/entity.md): a rich value, a country, a state, a security, bound to a HUB workbook, so dot-access resolves to an auditable formula over a versioned source instead of a hidden lookup. (supported)
- [hyperlink](https://deepcalc.com/docs/objects/hyperlink.md): a link from one or more cells to a url or an in-workbook location. (supported)
- [smart-chip](https://deepcalc.com/docs/objects/smart-chip.md): a rich in-cell chip, a person, date or place, beyond a plain value. (none)
- [sparkline](https://deepcalc.com/docs/objects/sparkline.md): a tiny chart drawn INSIDE a cell, the trend line beside a row of numbers. (supported)

## compatibility matrix

round-trip: `editable` we model it · `preserved` carried verbatim · `dropped` not kept today · `none` no xlsx form.

| kind | excel | google | us | round-trip |
| --- | :-: | :-: | :-: | --- |
| comment | ✓ | ✗ | ✓ | editable |
| conditional-formatting | ✓ | partial | ✓ | editable |
| data-validation | ✓ | partial | ✓ | editable |
| developer-metadata | ✗ | ✗ | partial | none |
| entity | ✗ | ✗ | ✓ | none |
| hyperlink | ✓ | ✗ | ✓ | editable |
| smart-chip | ✗ | ✗ | ✗ | none |
| sparkline | ✓ | ✗ | ✓ | editable |
| chart | ✓ | partial | ✓ | editable |
| control | partial | partial | ✓ | editable |
| image | ✓ | ✗ | ✓ | editable |
| map | ✓ | ✗ | ✓ | editable |
| filter-view | ✓ | partial | ✓ | editable |
| form | ✗ | ✗ | ✓ | none |
| merged-range | ✓ | ✓ | ✓ | editable |
| named-range | ✓ | ✓ | ✓ | editable |
| pivot | ✓ | ✗ | ✓ | editable |
| protected-range | ✓ | partial | ✓ | editable |
| table | ✓ | partial | ✓ | editable |

source: https://deepcalc.com/docs/objects