From 11c86a03498b473c7ea82471a5a6f15ef0b50a42 Mon Sep 17 00:00:00 2001
From: tactino <18781106300@163.com>
Date: Sun, 27 Sep 2026 03:02:53 -0400
Subject: [PATCH] docs: the coverage figure - what runs on PlugRL, cell by cell
A new home-page section, in both languages: every combination of the two
MLP policies and the two algorithms on HalfCheetah, Hopper, Walker2d and
robomimic square, and pi0.5 on LIBERO. The border and its label are what
the experiments found; each cell's still plays its clip on hover or tap,
and a line under it draws all three seeds' training return on one scale per
column. The clips are the median-return episode of the median seed's final
checkpoint, as the text under the figure says. Data and clips come from
plugrl-server's figures/coverage (PlugRL/plugrl-server#68); 924 KB in all.
---
docs/index.md | 23 ++
docs/index.zh.md | 16 ++
docs/javascripts/coverage.js | 237 +++++++++++++++++++
docs/media/coverage/coverage.json | 1 +
docs/media/coverage/dppo-dppo-cheetah.jpg | Bin 0 -> 9947 bytes
docs/media/coverage/dppo-dppo-cheetah.mp4 | Bin 0 -> 116476 bytes
docs/media/coverage/dppo-dppo-hopper.jpg | Bin 0 -> 10939 bytes
docs/media/coverage/dppo-dppo-hopper.mp4 | Bin 0 -> 23842 bytes
docs/media/coverage/dppo-dppo-square.jpg | Bin 0 -> 6927 bytes
docs/media/coverage/dppo-dppo-square.mp4 | Bin 0 -> 35933 bytes
docs/media/coverage/dppo-dppo-walker.jpg | Bin 0 -> 9489 bytes
docs/media/coverage/dppo-dppo-walker.mp4 | Bin 0 -> 19406 bytes
docs/media/coverage/fpo-dppo-cheetah.jpg | Bin 0 -> 10040 bytes
docs/media/coverage/fpo-dppo-cheetah.mp4 | Bin 0 -> 100320 bytes
docs/media/coverage/fpo-dppo-hopper.jpg | Bin 0 -> 11149 bytes
docs/media/coverage/fpo-dppo-hopper.mp4 | Bin 0 -> 10375 bytes
docs/media/coverage/fpo-dppo-square.jpg | Bin 0 -> 6841 bytes
docs/media/coverage/fpo-dppo-square.mp4 | Bin 0 -> 32763 bytes
docs/media/coverage/fpo-dppo-walker.jpg | Bin 0 -> 9684 bytes
docs/media/coverage/fpo-dppo-walker.mp4 | Bin 0 -> 7403 bytes
docs/media/coverage/fpo-fpo-cheetah.jpg | Bin 0 -> 10980 bytes
docs/media/coverage/fpo-fpo-cheetah.mp4 | Bin 0 -> 120401 bytes
docs/media/coverage/fpo-fpo-hopper.jpg | Bin 0 -> 11515 bytes
docs/media/coverage/fpo-fpo-hopper.mp4 | Bin 0 -> 50181 bytes
docs/media/coverage/fpo-fpo-square.jpg | Bin 0 -> 6874 bytes
docs/media/coverage/fpo-fpo-square.mp4 | Bin 0 -> 34131 bytes
docs/media/coverage/fpo-fpo-walker.jpg | Bin 0 -> 10040 bytes
docs/media/coverage/fpo-fpo-walker.mp4 | Bin 0 -> 36648 bytes
docs/media/coverage/pi0-base.jpg | Bin 0 -> 8475 bytes
docs/media/coverage/pi0-base.mp4 | Bin 0 -> 44904 bytes
docs/media/coverage/pi0-dppo.jpg | Bin 0 -> 8557 bytes
docs/media/coverage/pi0-dppo.mp4 | Bin 0 -> 44598 bytes
docs/media/coverage/pi0-fpo.jpg | Bin 0 -> 9535 bytes
docs/media/coverage/pi0-fpo.mp4 | Bin 0 -> 46601 bytes
docs/stylesheets/coverage.css | 268 ++++++++++++++++++++++
mkdocs.yml | 7 +
36 files changed, 552 insertions(+)
create mode 100644 docs/javascripts/coverage.js
create mode 100644 docs/media/coverage/coverage.json
create mode 100644 docs/media/coverage/dppo-dppo-cheetah.jpg
create mode 100644 docs/media/coverage/dppo-dppo-cheetah.mp4
create mode 100644 docs/media/coverage/dppo-dppo-hopper.jpg
create mode 100644 docs/media/coverage/dppo-dppo-hopper.mp4
create mode 100644 docs/media/coverage/dppo-dppo-square.jpg
create mode 100644 docs/media/coverage/dppo-dppo-square.mp4
create mode 100644 docs/media/coverage/dppo-dppo-walker.jpg
create mode 100644 docs/media/coverage/dppo-dppo-walker.mp4
create mode 100644 docs/media/coverage/fpo-dppo-cheetah.jpg
create mode 100644 docs/media/coverage/fpo-dppo-cheetah.mp4
create mode 100644 docs/media/coverage/fpo-dppo-hopper.jpg
create mode 100644 docs/media/coverage/fpo-dppo-hopper.mp4
create mode 100644 docs/media/coverage/fpo-dppo-square.jpg
create mode 100644 docs/media/coverage/fpo-dppo-square.mp4
create mode 100644 docs/media/coverage/fpo-dppo-walker.jpg
create mode 100644 docs/media/coverage/fpo-dppo-walker.mp4
create mode 100644 docs/media/coverage/fpo-fpo-cheetah.jpg
create mode 100644 docs/media/coverage/fpo-fpo-cheetah.mp4
create mode 100644 docs/media/coverage/fpo-fpo-hopper.jpg
create mode 100644 docs/media/coverage/fpo-fpo-hopper.mp4
create mode 100644 docs/media/coverage/fpo-fpo-square.jpg
create mode 100644 docs/media/coverage/fpo-fpo-square.mp4
create mode 100644 docs/media/coverage/fpo-fpo-walker.jpg
create mode 100644 docs/media/coverage/fpo-fpo-walker.mp4
create mode 100644 docs/media/coverage/pi0-base.jpg
create mode 100644 docs/media/coverage/pi0-base.mp4
create mode 100644 docs/media/coverage/pi0-dppo.jpg
create mode 100644 docs/media/coverage/pi0-dppo.mp4
create mode 100644 docs/media/coverage/pi0-fpo.jpg
create mode 100644 docs/media/coverage/pi0-fpo.mp4
create mode 100644 docs/stylesheets/coverage.css
diff --git a/docs/index.md b/docs/index.md
index 9e449e0..5eda63e 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -80,6 +80,29 @@ confirm the two sides talk to each other, not to train anything.
and starts stepping episodes.
- With `fpo`, the server prints a metrics table whose `rollout/reward` rises.
+## What runs on it
+
+PlugRL keeps the policy, the algorithm and the environment apart, so the
+question worth answering is which combinations actually work. Below is every
+combination of the two MLP policies and the two algorithms on four tasks, and
+pi0.5 on LIBERO. The border and its label say what the experiments found. The
+line under each clip is the training return of all three seeds, drawn on one
+scale per column, so a flat line really is flat. Hover over a cell, or tap
+it, to play it.
+
+
+
+Each clip comes from the final checkpoint of the seed whose last ten
+iterations were the median of three. That checkpoint was evaluated for five
+episodes, and the clip is the episode with the median return, not the best
+one. `dppo-policy · FPO` is missing because it cannot exist: FPO trains flow
+policies only. The three pi0.5 clips all start from the same scene, the first
+one the released policy solves, and the numbers under them come from
+fifty-episode evaluations. pi0.5 falling to zero after one FPO iteration is a
+defect of ours we are still tracking down, not a finding about FPO. The
+scripts that made all of this are in
+[figures/coverage](https://github.com/PlugRL/plugrl-server/tree/main/figures/coverage).
+
## A real VLA, end to end