@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 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-DufFyc3b.js";
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, S as o, _ as s, d as c, f as l, i as u, l as ee, n as te, p as ne, r as re, v as ie, y as ae } from "./workerManager-CvezHmhd.js";
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(ie)), n = new Set(e.schema.fields.map((e) => e.name)), r = ae.find((e) => n.has(e)), i = r ? e.getChild(r) : null, a = e.getChild("subtask_index"), o = Array.from({ length: e.numRows }, (e, t) => ({
6854
- subtaskIndex: a ? le(a.get(t)) : t,
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 ne(o);
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 = o(this.info.features), n = a(this.info.features);
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) => l(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
- ...u(r)
7661
+ ...c(r)
7662
7662
  };
7663
7663
  return {
7664
- indices: ee(r, e),
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) => c(n.values[t * n.width]));
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: s(r, this.subtasks)
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
  }