Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
737f365
feat(pi): touch pan and an edit lock on the node graph
gbradham Oct 21, 2026
3219cf7
feat(pi): tap a library node to drop it in the middle of the graph
gbradham Oct 21, 2026
12c5425
refactor(pi): drop the tap_to_add flag; refuse taps whenever the grap…
gbradham Oct 21, 2026
8151df8
feat(pi): experiment page as chips and full-width sections at 480 px
gbradham Oct 21, 2026
4d6d261
feat(pi): touch mode for the status strip and tab bar
gbradham Oct 21, 2026
9f9ff33
feat(pi): run page, device grid and notice bar widgets
gbradham Oct 21, 2026
f20ab89
fix(pi): two-column field tags shrink and elide to fit 480 px
gbradham Oct 21, 2026
dba01a8
feat(pi): graph-over-tabs dashboard and a lockable hardware panel
gbradham Oct 21, 2026
948ba58
feat(pi): two-row header with a gear menu and a notice bar
gbradham Oct 21, 2026
e53539f
feat(pi): dashboard tab is the graph over panel tabs; desktop switch …
gbradham Oct 21, 2026
c773adb
feat(pi): run page replaces the four-tab runner shell
gbradham Oct 21, 2026
166e12f
refactor(pi): delete the old runner shell, setup page, banner and panel
gbradham Oct 21, 2026
9886cb9
style(pi): professional touch stylesheet for the new layout
gbradham Oct 21, 2026
8416b2a
fix(pi): 44 px vocabulary rows, finger scrolling and a fitted graph o…
gbradham Oct 21, 2026
f0f46bb
fix(pi): finger-scroll item views and properties; release scrollers o…
gbradham Oct 21, 2026
6cd2d2e
docs(pi): describe the new touchscreen layout
gbradham Oct 21, 2026
4c352dd
fix(pi): bound the notice bar
gbradham Oct 21, 2026
22a5041
fix(pi): fit 800x480 landscape
gbradham Oct 21, 2026
ef8b62c
fix(pi): Connect boards connects
gbradham Oct 21, 2026
3daf0c9
fix(pi): load --file on the Pi; stale strings
gbradham Oct 21, 2026
d147aa1
test(pi): every live state locks; Pause, Resume and run values reach …
gbradham Oct 21, 2026
5b5532f
docs(pi): correct the header, notice bar, readiness and connect steps
gbradham Oct 21, 2026
000df85
fix(pi): leave table and tree headers out of finger scrolling
gbradham Oct 21, 2026
22e8907
fix(pi): fit the Pi chrome to whatever font the platform falls back to
gbradham Oct 21, 2026
1c5c800
fix(pi): let the run clock shrink to fit; stack the zone shape choices
gbradham Oct 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added docs-site/assets/screenshots/runner-dashboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs-site/assets/screenshots/runner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs-site/building/builder-window.md
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ about.
| Menu | Its commands | How to reach them now |
|---|---|---|
| **Hardware** | Add Board…, Add Device…, New Custom Device Type…, Connect All, Disconnect All | **Add Board** and **Add Device** are buttons in the **Hardware** tab, which is where you were probably already looking. The rest: ++ctrl+k++ |
| **Run** | Start (++f5++), Stop (++shift+f5++), Emergency Stop (++ctrl+shift+escape++) | The toolbar, the run banner, the shortcuts, or ++ctrl+k++ |
| **Run** | Start (++f5++), Stop (++shift+f5++), Emergency Stop (++ctrl+shift+escape++) | The toolbar, the **Run** tab, the shortcuts, or ++ctrl+k++ |
| **Tools** | Behavior Analysis…, Batch Pose Tracking…, Session Review…, Multi-Camera Recording…, GPU / Device Check… | The **Analyze** tab, which has a card for each — including, when a tool needs an optional dependency stack, the exact install line. **Plugins** moved to the **Experiment** tab instead |

Every row in the palette names the menu it came from, so if you remember that
Expand Down
10 changes: 6 additions & 4 deletions docs-site/building/subjects.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,12 @@ change to it, even one that ends on the same term, counts as you choosing the
term, and it is learned again.

!!! note "Runner mode"
The setup form is a desktop feature. It is never offered on the Raspberry Pi
runner screen — a 480-pixel touch surface with no menu bar is the wrong
shape for five editable lists. A runner uses whatever vocabulary was defined
on the desktop side.
The one-time setup form is a desktop feature. It is never offered at first
launch on the Raspberry Pi runner screen — a 480-pixel touch surface is the
wrong place to meet five editable lists unprompted. The lists are still
there when you want them: the Runner's **Experiment** tab has a **Lab
Vocabulary** section, and a runner otherwise uses whatever vocabulary was
defined on the desktop side.

!!! warning "If saving fails"
If GLIDER cannot write the file — a read-only home directory, a missing
Expand Down
9 changes: 5 additions & 4 deletions docs-site/getting-started/concepts.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,11 @@ See [Camera & Recording](../camera-behavior/camera.md).
collapsible panel either side of the canvas and a
[command palette](../building/builder-window.md#command-palette) on
++ctrl+k++.
- **Runner mode** is where you *operate* — a touch-first, four-tab kiosk
(**Setup, Run, Manual, Camera**) meant for a bench touchscreen or a Raspberry
Pi. It runs the same `.glider` experiments, adds big manual device controls,
and lets you trigger saved [functions](../building/functions.md) with one tap.
- **Runner mode** is where you *operate* — a touch-first kiosk with three tabs
(**Experiment, Dashboard, Run**) and a ⚙ menu, meant for a bench touchscreen
or a Raspberry Pi. It runs the same `.glider` experiments, shows the graph
view-only by default, adds big manual device controls, and lets you trigger
saved [functions](../building/functions.md) with one tap.

Design once, run anywhere. Ready to build something? Continue to
[Your First Experiment](first-experiment.md).
6 changes: 3 additions & 3 deletions docs-site/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,15 +59,15 @@ behavior rig.
- **Tracking & behavior analysis.** With optional extras, GLIDER runs pose
tracking on your video and helps you cluster and classify behavior.
- **Touchscreen Runner.** Flip into a large-button kiosk mode for running
experiments at the bench, with manual device controls and one-tap function
buttons.
experiments at the bench, with a view-only graph, manual device controls, and
one-tap function buttons.

## Two ways to use it

| | Desktop mode | Runner mode |
|---|---|---|
| **Best for** | Designing experiments | Running them at the bench |
| **Interface** | Full node-graph editor, two collapsible side panels, a command palette | Four big touch tabs: Setup, Run, Manual, Camera |
| **Interface** | Full node-graph editor, two collapsible side panels, a command palette | Three big touch tabs: Experiment, Dashboard, Run |
| **Typical device** | Laptop / workstation | Touchscreen or Raspberry Pi kiosk |

You design an experiment once in desktop mode, save it as a `.glider` file, and
Expand Down
9 changes: 4 additions & 5 deletions docs-site/reference/ecosystem-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,11 @@ This distinction matters in explanations of GLIDER: data flow alone does not tri

### Runner is the touch-first operating workspace

Runner is intended for an operator at a bench or a Raspberry Pi touchscreen. It can load the same `.glider` file but uses larger controls and a four-tab structure:
Runner is intended for an operator at a bench or a Raspberry Pi touchscreen. It can load the same `.glider` file but uses larger controls, a header with a ⚙ menu (New, Open, Save, Save As, Connect boards, Help, Switch to Desktop, Exit), and three tabs:

- **Setup** loads/saves experiments and connects hardware.
- **Run** starts and stops a ready experiment and shows run state.
- **Manual** generates controls from a device's declared actions and ranges.
- **Camera** provides the camera and recording interface.
- **Experiment** edits metadata, mice, zones, lab vocabulary, and plugins.
- **Dashboard** shows the node graph (view-only until unlocked) over panels for nodes, properties, hardware, camera, and manual **Control**, which generates controls from a device's declared actions and ranges.
- **Run** shows the per-run fields, the clock, and live device cards, and starts and stops a ready experiment.

Runner does not create a separate kind of experiment. It is another view over the same experiment session and hardware model. Manual functions are deliberately prevented from overlapping an active experiment because both could drive the same hardware.

Expand Down
7 changes: 4 additions & 3 deletions docs-site/reference/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,10 @@ Open**, then confirm. You only need to do this once. See
## The Runner is stuck in kiosk mode

Runner mode is one-mode-per-process by design. To get back to the desktop
editor, use the **Setup** tab's switch-to-desktop control, or relaunch without
the `--runner` flag. On a Raspberry Pi kiosk you can log in as the `pi` user over
SSH to recover. See [Raspberry Pi Kiosk](../runner/pi-kiosk.md).
editor, use **⚙ › Switch to Desktop** (it is refused while a run is live, so
stop the run first), or relaunch without the `--runner` flag. On a Raspberry
Pi kiosk you can log in as the `pi` user over SSH to recover. See
[Raspberry Pi Kiosk](../runner/pi-kiosk.md).

## Still stuck?

Expand Down
22 changes: 12 additions & 10 deletions docs-site/runner/index.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# Runner Mode

Runner mode is GLIDER's touchscreen "kiosk" layout for running experiments at
the bench. It replaces the full desktop editor with four large, finger-friendly
tabs so an operator can load an experiment, drive hardware by hand, and start a
recorded run without a keyboard or mouse.
the bench. It replaces the full desktop editor with a compact header and three
finger-friendly tabs — **Experiment**, **Dashboard**, and **Run** — so an
operator can load an experiment, look it over, drive hardware by hand, and start
a recorded run without a keyboard or mouse.

Runner mode is designed for a small touchscreen — typically a Raspberry Pi with
the official 480×800 display — but it runs on any machine. GLIDER picks the
Expand All @@ -12,14 +13,14 @@ command-line flag.

<figure markdown="span">
![The Runner touchscreen layout with large tap targets](../assets/screenshots/runner.png)
<figcaption>Runner mode: large, finger-friendly controls and a four-tab bottom bar, built for a bench touchscreen.</figcaption>
<figcaption>Runner mode: large, finger-friendly controls under a header with a ⚙ menu and three tabs, built for a bench touchscreen.</figcaption>
</figure>

## In this section

- **[The Runner Screen](runner.md)** — the four tabs (Setup, Run, Manual,
Camera), the run banner, the auto-generated manual device controls, the
Functions buttons, and how to run an experiment from the touchscreen.
- **[The Runner Screen](runner.md)** — the header and ⚙ menu, the Experiment,
Dashboard (graph, panels, manual device controls, Functions), and Run tabs,
and how to run an experiment from the touchscreen.
- **[Raspberry Pi Kiosk](pi-kiosk.md)** — the prebuilt Raspberry Pi SD-card
image, the systemd service that auto-launches GLIDER in Runner mode on boot,
and the update script that moves a kiosk to a newer release.
Expand All @@ -45,9 +46,10 @@ glider --builder # Force Desktop (Builder / editor) mode

!!! note "One mode per launch"
GLIDER runs in a single mode for the life of the process. You can switch
from Runner to Desktop while it is running (**⚙ → Switch to Desktop** on the
Setup tab), but you cannot switch back to Runner without restarting the app.
On a dedicated Pi kiosk you normally never leave Runner mode.
from Runner to Desktop while it is running (**⚙ › Switch to Desktop**; it is
refused while a run is live), but you cannot switch back to Runner without
restarting the app. On a dedicated Pi kiosk you normally never leave Runner
mode.

## Where to start

Expand Down
4 changes: 2 additions & 2 deletions docs-site/runner/pi-kiosk.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ easier.
The `--runner` flag forces the [touchscreen layout](runner.md) regardless of
the detected screen size.
- If GLIDER **crashes**, systemd restarts it after a few seconds. If GLIDER
**exits cleanly** (you quit it on purpose), systemd leaves it closed rather
than fighting you.
**exits cleanly** (you quit it on purpose, for example with **⚙ › Exit** on
the touchscreen), systemd leaves it closed rather than fighting you.
- All of GLIDER's log output goes to the system journal.

### Handy commands
Expand Down
Loading
Loading