@ioai/lerobot-studio 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist-lib/{DockviewLayout-BDK9-nmD.js → DockviewLayout-CUu7GYs2.js} +1 -1
- package/dist-lib/{LeRobotDataLoader-CgLRJ0U1.js → LeRobotDataLoader-DXZRK9t2.js} +10 -10
- package/dist-lib/lerobot-studio.css +61 -12
- package/dist-lib/lerobot.es.js +2730 -2589
- package/dist-lib/{react-window-DufFyc3b.js → react-window-Bqez0RiF.js} +64 -94
- package/dist-lib/{workerManager-CvezHmhd.js → workerManager-CQ6DPJcz.js} +186 -113
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.2.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Label subtasks from the playback timeline in Edit.
|
|
8
|
+
- Skip File System Access on insecure origins.
|
|
9
|
+
- Make v3.0 subtask export opt-in. Unlabeled episodes report `Episode #N has no subtask labels.`
|
|
10
|
+
- Fix the Docker image build: Vite no longer loads test-only parquet helpers that `.dockerignore` excludes.
|
|
11
|
+
|
|
3
12
|
## 1.2.0
|
|
4
13
|
|
|
5
14
|
### Minor Changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as e, A as t, B as n, C as r, Ct as i, D as a, F as o, G as s, H as c, I as l, J as u, K as d, L as f, M as p, N as m, O as h, P as g, Q as _, R as v, St as y, T as b, V as x, W as S, X as C, Y as w, _ as T, at as E, c as D, ct as O, dt as k, ft as A, gt as j, ht as M, it as N, j as P, k as ee, l as te, lt as ne, mt as F, nt as I, ot as re, p as ie, pt as L, q as ae, rt as oe, st as se, t as ce, tt as le, u as ue, ut as de, v as fe, vt as pe, w as me, x as he, xt as ge, y as _e, yt as R, z as ve } from "./react-window-
|
|
1
|
+
import { $ as e, A as t, B as n, C as r, Ct as i, D as a, F as o, G as s, H as c, I as l, J as u, K as d, L as f, M as p, N as m, O as h, P as g, Q as _, R as v, St as y, T as b, V as x, W as S, X as C, Y as w, _ as T, at as E, c as D, ct as O, dt as k, ft as A, gt as j, ht as M, it as N, j as P, k as ee, l as te, lt as ne, mt as F, nt as I, ot as re, p as ie, pt as L, q as ae, rt as oe, st as se, t as ce, tt as le, u as ue, ut as de, v as fe, vt as pe, w as me, x as he, xt as ge, y as _e, yt as R, z as ve } from "./react-window-Bqez0RiF.js";
|
|
2
2
|
import { n as ye } from "./MediaCache-DZ7bEoOY.js";
|
|
3
3
|
import * as z from "react";
|
|
4
4
|
import B, { Component as V, createContext as be, memo as xe, startTransition as Se, useCallback as Ce, useDeferredValue as we, useEffect as Te, useMemo as H, useRef as U, useState as W, useSyncExternalStore as Ee } from "react";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as e, i as t, n, o as r, r as i } from "./tslib.es6-DT2YfilY.js";
|
|
2
|
-
import { C as a,
|
|
2
|
+
import { C as a, D as o, E as s, a as c, f as l, l as u, m as ee, n as te, p as ne, r as re, w as ie, x as ae } from "./workerManager-CQ6DPJcz.js";
|
|
3
3
|
import { t as oe } from "./MediaCache-DZ7bEoOY.js";
|
|
4
4
|
//#region src/core/types/lerobot.ts
|
|
5
5
|
function se(e) {
|
|
@@ -6850,11 +6850,11 @@ function Wc(e) {
|
|
|
6850
6850
|
var Gc = class {
|
|
6851
6851
|
async loadSubtasks(e, t) {
|
|
6852
6852
|
try {
|
|
6853
|
-
let e = Wc(await t.readParquetToIPC(
|
|
6854
|
-
subtaskIndex:
|
|
6853
|
+
let e = Wc(await t.readParquetToIPC(a)), n = new Set(e.schema.fields.map((e) => e.name)), r = ie.find((e) => n.has(e)), i = r ? e.getChild(r) : null, o = e.getChild("subtask_index"), s = Array.from({ length: e.numRows }, (e, t) => ({
|
|
6854
|
+
subtaskIndex: o ? le(o.get(t)) : t,
|
|
6855
6855
|
label: i ? le(i.get(t)) : ""
|
|
6856
6856
|
}));
|
|
6857
|
-
return
|
|
6857
|
+
return ee(s);
|
|
6858
6858
|
} catch (e) {
|
|
6859
6859
|
if (e instanceof RangeError) throw e;
|
|
6860
6860
|
return {};
|
|
@@ -7644,24 +7644,24 @@ var Ll = class {
|
|
|
7644
7644
|
}
|
|
7645
7645
|
async loadEpisodeSubtaskSource(e) {
|
|
7646
7646
|
if (!this.info) throw Error("Not initialized");
|
|
7647
|
-
let t =
|
|
7647
|
+
let t = s(this.info.features), n = o(this.info.features);
|
|
7648
7648
|
if (!t && !n && Object.keys(this.subtasks).length === 0) return {
|
|
7649
7649
|
indices: [],
|
|
7650
7650
|
table: this.subtasks
|
|
7651
7651
|
};
|
|
7652
7652
|
let r = [];
|
|
7653
7653
|
if (n) try {
|
|
7654
|
-
r = ((await this.loadFeatureData(e, [n]))[n] ?? []).map((e) =>
|
|
7654
|
+
r = ((await this.loadFeatureData(e, [n]))[n] ?? []).map((e) => ne(e));
|
|
7655
7655
|
} catch {
|
|
7656
7656
|
r = [];
|
|
7657
7657
|
}
|
|
7658
7658
|
if (r.some((e) => e.length > 0)) {
|
|
7659
7659
|
let e = {
|
|
7660
7660
|
...this.subtasks,
|
|
7661
|
-
...
|
|
7661
|
+
...c(r)
|
|
7662
7662
|
};
|
|
7663
7663
|
return {
|
|
7664
|
-
indices:
|
|
7664
|
+
indices: u(r, e),
|
|
7665
7665
|
table: e
|
|
7666
7666
|
};
|
|
7667
7667
|
}
|
|
@@ -7675,10 +7675,10 @@ var Ll = class {
|
|
|
7675
7675
|
indices: [],
|
|
7676
7676
|
table: this.subtasks
|
|
7677
7677
|
};
|
|
7678
|
-
let r = Array.from({ length: n.rows }, (e, t) =>
|
|
7678
|
+
let r = Array.from({ length: n.rows }, (e, t) => l(n.values[t * n.width]));
|
|
7679
7679
|
return {
|
|
7680
7680
|
indices: r,
|
|
7681
|
-
table:
|
|
7681
|
+
table: ae(r, this.subtasks)
|
|
7682
7682
|
};
|
|
7683
7683
|
} catch {
|
|
7684
7684
|
return {
|
|
@@ -620,6 +620,10 @@
|
|
|
620
620
|
z-index: 50;
|
|
621
621
|
}
|
|
622
622
|
|
|
623
|
+
.lerobot-root .z-\[1\] {
|
|
624
|
+
z-index: 1;
|
|
625
|
+
}
|
|
626
|
+
|
|
623
627
|
.lerobot-root .z-\[5\] {
|
|
624
628
|
z-index: 5;
|
|
625
629
|
}
|
|
@@ -998,10 +1002,6 @@
|
|
|
998
1002
|
max-height: calc(var(--spacing) * 32);
|
|
999
1003
|
}
|
|
1000
1004
|
|
|
1001
|
-
.lerobot-root .max-h-36 {
|
|
1002
|
-
max-height: calc(var(--spacing) * 36);
|
|
1003
|
-
}
|
|
1004
|
-
|
|
1005
1005
|
.lerobot-root .max-h-\[38vh\] {
|
|
1006
1006
|
max-height: 38vh;
|
|
1007
1007
|
}
|
|
@@ -1054,10 +1054,6 @@
|
|
|
1054
1054
|
min-height: 100vh;
|
|
1055
1055
|
}
|
|
1056
1056
|
|
|
1057
|
-
.lerobot-root .w-0\.5 {
|
|
1058
|
-
width: calc(var(--spacing) * .5);
|
|
1059
|
-
}
|
|
1060
|
-
|
|
1061
1057
|
.lerobot-root .w-1 {
|
|
1062
1058
|
width: var(--spacing);
|
|
1063
1059
|
}
|
|
@@ -1178,10 +1174,6 @@
|
|
|
1178
1174
|
max-width: 120px;
|
|
1179
1175
|
}
|
|
1180
1176
|
|
|
1181
|
-
.lerobot-root .max-w-\[140px\] {
|
|
1182
|
-
max-width: 140px;
|
|
1183
|
-
}
|
|
1184
|
-
|
|
1185
1177
|
.lerobot-root .max-w-\[200px\] {
|
|
1186
1178
|
max-width: 200px;
|
|
1187
1179
|
}
|
|
@@ -1339,6 +1331,10 @@
|
|
|
1339
1331
|
cursor: default;
|
|
1340
1332
|
}
|
|
1341
1333
|
|
|
1334
|
+
.lerobot-root .cursor-ew-resize {
|
|
1335
|
+
cursor: ew-resize;
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1342
1338
|
.lerobot-root .cursor-grabbing {
|
|
1343
1339
|
cursor: grabbing;
|
|
1344
1340
|
}
|
|
@@ -1824,6 +1820,16 @@
|
|
|
1824
1820
|
}
|
|
1825
1821
|
}
|
|
1826
1822
|
|
|
1823
|
+
.lerobot-root .bg-background\/90 {
|
|
1824
|
+
background-color: var(--background);
|
|
1825
|
+
}
|
|
1826
|
+
|
|
1827
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1828
|
+
.lerobot-root .bg-background\/90 {
|
|
1829
|
+
background-color: color-mix(in oklab, var(--background) 90%, transparent);
|
|
1830
|
+
}
|
|
1831
|
+
}
|
|
1832
|
+
|
|
1827
1833
|
.lerobot-root .bg-background\/95 {
|
|
1828
1834
|
background-color: var(--background);
|
|
1829
1835
|
}
|
|
@@ -1838,6 +1844,16 @@
|
|
|
1838
1844
|
background-color: var(--color-black);
|
|
1839
1845
|
}
|
|
1840
1846
|
|
|
1847
|
+
.lerobot-root .bg-black\/40 {
|
|
1848
|
+
background-color: #0006;
|
|
1849
|
+
}
|
|
1850
|
+
|
|
1851
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1852
|
+
.lerobot-root .bg-black\/40 {
|
|
1853
|
+
background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
|
|
1854
|
+
}
|
|
1855
|
+
}
|
|
1856
|
+
|
|
1841
1857
|
.lerobot-root .bg-black\/50 {
|
|
1842
1858
|
background-color: #00000080;
|
|
1843
1859
|
}
|
|
@@ -2014,6 +2030,16 @@
|
|
|
2014
2030
|
}
|
|
2015
2031
|
}
|
|
2016
2032
|
|
|
2033
|
+
.lerobot-root .bg-primary\/35 {
|
|
2034
|
+
background-color: var(--primary);
|
|
2035
|
+
}
|
|
2036
|
+
|
|
2037
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2038
|
+
.lerobot-root .bg-primary\/35 {
|
|
2039
|
+
background-color: color-mix(in oklab, var(--primary) 35%, transparent);
|
|
2040
|
+
}
|
|
2041
|
+
}
|
|
2042
|
+
|
|
2017
2043
|
.lerobot-root .bg-primary\/60 {
|
|
2018
2044
|
background-color: var(--primary);
|
|
2019
2045
|
}
|
|
@@ -2042,6 +2068,10 @@
|
|
|
2042
2068
|
background-color: #0000;
|
|
2043
2069
|
}
|
|
2044
2070
|
|
|
2071
|
+
.lerobot-root .bg-\[length\:8px_8px\] {
|
|
2072
|
+
background-size: 8px 8px;
|
|
2073
|
+
}
|
|
2074
|
+
|
|
2045
2075
|
.lerobot-root .fill-current {
|
|
2046
2076
|
fill: currentColor;
|
|
2047
2077
|
}
|
|
@@ -2305,6 +2335,11 @@
|
|
|
2305
2335
|
font-size: 12px;
|
|
2306
2336
|
}
|
|
2307
2337
|
|
|
2338
|
+
.lerobot-root .leading-4 {
|
|
2339
|
+
--tw-leading: calc(var(--spacing) * 4);
|
|
2340
|
+
line-height: calc(var(--spacing) * 4);
|
|
2341
|
+
}
|
|
2342
|
+
|
|
2308
2343
|
.lerobot-root .leading-5 {
|
|
2309
2344
|
--tw-leading: calc(var(--spacing) * 5);
|
|
2310
2345
|
line-height: calc(var(--spacing) * 5);
|
|
@@ -2687,6 +2722,10 @@
|
|
|
2687
2722
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
2688
2723
|
}
|
|
2689
2724
|
|
|
2725
|
+
.lerobot-root .ring-border {
|
|
2726
|
+
--tw-ring-color: var(--border);
|
|
2727
|
+
}
|
|
2728
|
+
|
|
2690
2729
|
.lerobot-root .ring-primary\/20 {
|
|
2691
2730
|
--tw-ring-color: var(--primary);
|
|
2692
2731
|
}
|
|
@@ -2697,6 +2736,16 @@
|
|
|
2697
2736
|
}
|
|
2698
2737
|
}
|
|
2699
2738
|
|
|
2739
|
+
.lerobot-root .ring-primary\/70 {
|
|
2740
|
+
--tw-ring-color: var(--primary);
|
|
2741
|
+
}
|
|
2742
|
+
|
|
2743
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2744
|
+
.lerobot-root .ring-primary\/70 {
|
|
2745
|
+
--tw-ring-color: color-mix(in oklab, var(--primary) 70%, transparent);
|
|
2746
|
+
}
|
|
2747
|
+
}
|
|
2748
|
+
|
|
2700
2749
|
.lerobot-root .ring-ring\/50 {
|
|
2701
2750
|
--tw-ring-color: var(--ring);
|
|
2702
2751
|
}
|