Thank you for being patient! We're working hard on resolving the issue
The data template wraps any canonical data lookup key (Garmin metrics,
Whoop recovery, custom user series) into a row tree with the right preset
renderers — bar charts, regression bands, point plots, h-rules — picked
from a registered DATA_PRESETS table by lookup key.
It's the catch-all template for "expose this provider series as a row" — the others are specializations of this idea with hard-coded shapes.
{
"type": "alias",
"label": "Sleep",
"attributes": {
"template": "data",
"props": { "lookupKey": ":~garmin:sleep" }
}
}
| Prop | Type | Required | Meaning |
|---|---|---|---|
lookupKey | string | yes | Canonical data series lookup key |
For a series with a registered preset (here Garmin sleep — points + h-rule):
alias template=data
│ props.lookupKey=:~garmin:sleep
├─ data-json lookupKey=:~garmin:sleep ← raw JSON cells
├─ data-renderer type=points
└─ data-renderer type=hrule
For a series with no registered preset, only the data-json row is
emitted:
alias template=data
│ props.lookupKey=:~custom:my-series
└─ data-json lookupKey=:~custom:my-series
The renderer set comes from DATA_PRESETS.get(lookupKey):
| Preset key fragment | Renderer types added |
|---|---|
points | scatter point plot |
bar | bar chart |
regression | regression band + points |
hrule | horizontal reference rule |
Lookup keys without a preset entry get only the data-json row — useful
for raw inspection of an unfamiliar series.
A few legacy renderer types are normalized at child-spec time so older
preset entries keep working without table edits. This pass runs inside
the data template's dataChildren() expansion
(tento/tento-lona-js/sheets/src/builtin-alias-factories.ts); other templates and
hand-built rows do not see it.
| Wire type | Canonical type |
|---|---|
hrule-all | hrule |
regression-fill | regression-band |
regression-points | points |
bar-chart-with-width, buckets | bar |
This is purely a name-mapping pass; no behavior changes.
data vs a specialized templateUse data when:
:~garmin:..., :~whoop:..., :~custom:...).Use a specialized template (weather, task, calendar) when: