Gallery › robotparts › robotparts releases and lanes
robotparts releases and lanes
robotparts' six releases from 2026-10-22 to 2026-10-25 and the 24 branches merged into them, from git: a release is a point at its tag, a lane, integration or contract branch is a bar from the first commit its merge brought in to the merge. Lanes by kind, coloured by the release they shipped in; or by release, nested by kind.
The .base file and its data
Every tab above is one entry of this file; the views read these rows. ⋯ in the toolbar copies the current view as YAML.
# robotparts' releases and the branches merged into them, 2026-10-22 to 2026-10-25, from git (metadata only).
# Obsidian Bases grammar plus data-ui's timeline keys (docs/CONTRACT.md §5).
data: timeline.json
properties:
title: { displayName: Branch or release }
kind: { displayName: Kind }
release: { displayName: Shipped in }
views:
- type: timeline
name: Lanes by kind
start: start
end: end
title: title
color: release
groupBy: { property: kind, direction: ASC }
groupOrder: [release, integration, contract, main, lane]
zoom: { min: PT10M, max: P14D }
- type: timeline
name: By release
start: start
end: end
title: title
color: kind
groupBy: { property: release, direction: ASC }
subGroupBy: { property: kind, direction: ASC }
zoom: { min: PT10M, max: P14D }
- type: timeline
name: Releases only
filters: 'kind == "release"'
start: start
title: title
color: release
- type: table
name: All
order: [title, kind, start, end, release, commits, commit, subject]
sort:
- { property: start, direction: ASC }
// timeline.json: 30 rows, 13 KB; the first 3
{
"id": "robotparts-timeline",
"title": "robotparts releases and lanes",
"titleProperty": "title",
"source": "git -C ~/robotparts log --merges main + release/* tags, 2026-10-21 to 2026-10-26 (metadata only)",
"properties": {
"title": {
"type": "text",
"label": "Branch or release",
"width": 200
},
"kind": {
"type": "text",
"label": "Kind",
"display": "badge",
"colors": {
"release": 8,
"integration": 7,
"lane": 1,
"contract": 4,
"main": 3
}
},
"start": {
"type": "date",
"label": "Start",
"readOnly": true
},
"end": {
"type": "date",
"label": "Merged",
"readOnly": true
},
"release": {
"type": "text",
"label": "Shipped in",
"display": "badge",
"colors": {
"2026.10.22.1": 1,
"2026.10.22.2": 2,
"2026.10.22.3": 3,
"2026.10.22.4": 4,
"2026.10.25": 5,
"2026.10.25.1": 6
}
},
"branch": {
"type": "text",
"label": "Branch",
"hidden": true
},
"commits": {
"type": "number",
"label": "Commits"
},
"commit": {
"type": "text",
"label": "Commit"
},
"subject": {
"type": "text",
"label": "Subject",
"width": 420
}
},
"rows": [
{
"id": "f8e359fd3",
"title": "integration/v2",
"kind": "integration",
"start": "2026-10-22T09:13:55-07:00",
"end": "2026-10-22T14:31:20-07:00",
"release": "2026.10.22.1",
"branch": "integration/v2",
"commits": 32,
"commit": "f8e359fd3",
"subject": "Merge integration/v2: robotparts/2 — Core, Measured, Ingestor, In-CAD, Part Picker (market layer)"
},
{
"id": "a971af78a",
"title": "lane/incad",
"kind": "lane",
"start": "2026-10-22T09:13:55-07:00",
"end": "2026-10-22T11:31:27-07:00",
"release": "2026.10.22.1",
"branch": "lane/incad",
"commits": 3,
"commit": "a971af78a",
"subject": "integrate robotparts/2: lane/incad @ 1c2fd68 (RobotParts Fusion add-in; NOT VERIFIED IN-APP)"
},
{
"id": "6a222e12a",
"title": "lane/measured",
"kind": "lane",
"start": "2026-10-22T09:37:28-07:00",
"end": "2026-10-22T11:30:34-07:00",
"release": "2026.10.22.1",
"branch": "lane/measured",
"commits": 3,
"commit": "6a222e12a",
"subject": "integrate robotparts/2: lane/measured @ d9fd15a (GIM4305-10 level 4, moteus-c1 folder, makers.toml)"
}
]
}README.md
# robotparts releases and lanes
robotparts' six releases from 2026-10-22 to 2026-10-25 and the 24 branches merged into them, from git: a release
is a point at its tag, a lane, integration or contract branch is a bar from the first commit its merge brought in
to the merge. Lanes by kind, coloured by the release they shipped in; or by release, nested by kind.
- **App:** robotparts
- **Replaces:** reading `git log --graph` and the release tags by hand; robotparts has no timeline page.
- **Shows:** the timeline view (vis-timeline) with `start`/`end`, `groupBy` lanes in `groupOrder`, `subGroupBy`
nested lanes, `color` from a property, `zoom` limits as ISO 8601 durations, points beside bars, and the same rows
as a table.
- **Data:** `timeline.json`, written by `source/build.py` from `git -C ~/robotparts log --merges` and
`tag -l 'release/*'`: hashes, dates and subjects only. Dependency arrows are not drawn: the grammar has no key
for them yet.
The original UI it replaces
reading git log --graph and the release tags by hand; robotparts has no timeline page.
What it shows
the timeline view (vis-timeline) with start/end, groupBy lanes in groupOrder, subGroupBy nested lanes, color from a property, zoom limits as ISO 8601 durations, points beside bars, and the same rows as a table.
Data
timeline.json, written by source/build.py from git -C ~/robotparts log --merges and tag -l 'release/*': hashes, dates and subjects only. Dependency arrows are not drawn: the grammar has no key for them yet.