@ioai/lerobot-studio 1.0.0 → 1.0.2
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 +12 -0
- package/README.md +3 -2
- package/README.zh-CN.md +3 -2
- package/dist-lib/{DockviewLayout-Bf0kd_q_.js → DockviewLayout-DjLrI3Yt.js} +38 -63
- package/dist-lib/lerobot-studio.css +63 -48
- package/dist-lib/lerobot.es.js +9 -9
- package/dist-lib/{react-window-tHOzYrJa.js → react-window-B1KnRC6j.js} +8 -18
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.0.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 373f5a6: Fix dark theme adaptation for sidebar chrome, dialogs, charts, and scoped studio root tokens.
|
|
8
|
+
|
|
9
|
+
## 1.0.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Improve dataset quality report filtering and update published package documentation.
|
|
14
|
+
|
|
3
15
|
> **Language / 语言:** [English](./CHANGELOG.md) | [简体中文](./CHANGELOG.zh-CN.md)
|
|
4
16
|
|
|
5
17
|
All notable changes to this project will be documented in this file.
|
package/README.md
CHANGED
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
[简体中文 — README.zh-CN.md](README.zh-CN.md)
|
|
4
4
|
|
|
5
5
|
[](https://github.com/ioai-tech/lerobot-studio/actions/workflows/ci.yml)
|
|
6
|
+
[](https://www.npmjs.com/package/@ioai/lerobot-studio)
|
|
6
7
|
[](LICENSE)
|
|
7
8
|
[](https://ioai-tech.github.io/lerobot-studio/)
|
|
8
9
|
|
|
9
10
|
> Open [LeRobot](https://github.com/huggingface/lerobot) datasets in your browser. View video, charts, and raw data together, or add the same viewer to a React application.
|
|
10
11
|
|
|
11
|
-
Use it as a standalone site at [lerobot.studio](https://lerobot.studio)
|
|
12
|
+
Use it as a standalone site at [lerobot.studio](https://lerobot.studio), or install the [`@ioai/lerobot-studio`](https://www.npmjs.com/package/@ioai/lerobot-studio) React package from npm. Local folders and archives are processed in your browser and are not uploaded to a cloud service. If you open a remote URL, the browser requests data from that URL's server.
|
|
12
13
|
|
|
13
14
|
<p align="center">
|
|
14
15
|
<img src=".github/assets/lerobot-studio-demo.webp" alt="LeRobot Studio demo — synchronized video, charts, and episode navigation" width="800" />
|
|
@@ -77,7 +78,7 @@ docker run --rm -p 8080:8080 lerobot-studio
|
|
|
77
78
|
|
|
78
79
|
## Embedding in React
|
|
79
80
|
|
|
80
|
-
The React package
|
|
81
|
+
The React package is published on npm as [`@ioai/lerobot-studio`](https://www.npmjs.com/package/@ioai/lerobot-studio). Install it with:
|
|
81
82
|
|
|
82
83
|
```bash
|
|
83
84
|
npm install @ioai/lerobot-studio
|
package/README.zh-CN.md
CHANGED
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
[English — README.md](README.md)
|
|
4
4
|
|
|
5
5
|
[](https://github.com/ioai-tech/lerobot-studio/actions/workflows/ci.yml)
|
|
6
|
+
[](https://www.npmjs.com/package/@ioai/lerobot-studio)
|
|
6
7
|
[](LICENSE)
|
|
7
8
|
[](https://ioai-tech.github.io/lerobot-studio/)
|
|
8
9
|
|
|
9
10
|
> 在浏览器中打开 [LeRobot](https://github.com/huggingface/lerobot) 数据集,同时查看视频、图表和原始数据;也可以将同一套查看器加入 React 应用。
|
|
10
11
|
|
|
11
|
-
你可以直接使用 [lerobot.studio](https://lerobot.studio)
|
|
12
|
+
你可以直接使用 [lerobot.studio](https://lerobot.studio),也可以通过 npm 安装 [`@ioai/lerobot-studio`](https://www.npmjs.com/package/@ioai/lerobot-studio) 并嵌入 React 应用。本地文件夹和压缩包会在浏览器中处理,不会上传到云端。只有打开远程链接时,浏览器才会向该链接所在的服务器请求数据。
|
|
12
13
|
|
|
13
14
|
<p align="center">
|
|
14
15
|
<img src=".github/assets/lerobot-studio-demo.webp" alt="LeRobot Studio 演示 — 同步视频、图表与 Episode 浏览" width="800" />
|
|
@@ -77,7 +78,7 @@ docker run --rm -p 8080:8080 lerobot-studio
|
|
|
77
78
|
|
|
78
79
|
## 嵌入 React
|
|
79
80
|
|
|
80
|
-
React
|
|
81
|
+
React 包已以 [`@ioai/lerobot-studio`](https://www.npmjs.com/package/@ioai/lerobot-studio) 发布到 npm,安装方式:
|
|
81
82
|
|
|
82
83
|
```bash
|
|
83
84
|
npm install @ioai/lerobot-studio
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as e, A as t, B as n, C as r, D as i, E as a, G as o, H as s, I as c, J as l, L as u, M as d, N as f, O as p, P as m, Q as h, R as g, S as _, T as v, V as y, W as b, X as x, Y as S, Z as C, _ as w, at as T, b as E, c as D, ct as O, d as k, dt as A, et as j, f as M, g as N, h as ee, ht as te, it as ne, j as re, k as ie, l as P, mt as F, nt as I, ot as L, pt as R, q as ae, rt as oe, s as se, st as ce, t as le, tt as ue, u as de, ut as fe, w as pe, x as me, y as he, z as ge } from "./react-window-
|
|
1
|
+
import { $ as e, A as t, B as n, C as r, D as i, E as a, G as o, H as s, I as c, J as l, L as u, M as d, N as f, O as p, P as m, Q as h, R as g, S as _, T as v, V as y, W as b, X as x, Y as S, Z as C, _ as w, at as T, b as E, c as D, ct as O, d as k, dt as A, et as j, f as M, g as N, h as ee, ht as te, it as ne, j as re, k as ie, l as P, mt as F, nt as I, ot as L, pt as R, q as ae, rt as oe, s as se, st as ce, t as le, tt as ue, u as de, ut as fe, w as pe, x as me, y as he, z as ge } from "./react-window-B1KnRC6j.js";
|
|
2
2
|
import { n as _e } from "./MediaCache-DZ7bEoOY.js";
|
|
3
3
|
import * as z from "react";
|
|
4
4
|
import B, { Component as ve, createContext as V, memo as H, startTransition as ye, useCallback as U, useDeferredValue as be, useEffect as xe, useMemo as W, useRef as G, useState as Se, useSyncExternalStore as Ce } from "react";
|
|
@@ -1385,7 +1385,7 @@ function Cr({ className: e, ...t }) {
|
|
|
1385
1385
|
function wr({ className: e, children: t, side: n = "right", showCloseButton: r = !0, ...i }) {
|
|
1386
1386
|
return /* @__PURE__ */ q(Sr, { children: [/* @__PURE__ */ K(Cr, {}), /* @__PURE__ */ q(s, {
|
|
1387
1387
|
"data-slot": "sheet-content",
|
|
1388
|
-
className: F("fixed z-50 flex flex-col gap-4 bg-background shadow-lg transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500", n === "right" && "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm", n === "left" && "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm", n === "top" && "inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top", n === "bottom" && "inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom", e),
|
|
1388
|
+
className: F("fixed z-50 flex flex-col gap-4 bg-background text-foreground shadow-lg transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500", n === "right" && "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm", n === "left" && "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm", n === "top" && "inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top", n === "bottom" && "inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom", e),
|
|
1389
1389
|
...i,
|
|
1390
1390
|
children: [t, r && /* @__PURE__ */ q(y, {
|
|
1391
1391
|
className: "absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-secondary",
|
|
@@ -12281,67 +12281,54 @@ function Gl(e) {
|
|
|
12281
12281
|
function Kl(e) {
|
|
12282
12282
|
return e.timeline ? `${e.timeline.startSec.toFixed(2)}s - ${e.timeline.endSec.toFixed(2)}s` : null;
|
|
12283
12283
|
}
|
|
12284
|
-
var ql = ({
|
|
12285
|
-
let { t:
|
|
12286
|
-
if (!
|
|
12287
|
-
let
|
|
12288
|
-
{
|
|
12289
|
-
label: i(`${n}.feature`),
|
|
12290
|
-
value: e,
|
|
12291
|
-
breakAll: !0
|
|
12292
|
-
},
|
|
12293
|
-
{
|
|
12294
|
-
label: i(`${n}.dtype`),
|
|
12295
|
-
value: t.dtype
|
|
12296
|
-
},
|
|
12284
|
+
var ql = ({ metadata: e, translationPrefix: t, className: n }) => {
|
|
12285
|
+
let { t: r } = te();
|
|
12286
|
+
if (!e) return null;
|
|
12287
|
+
let i = [
|
|
12297
12288
|
{
|
|
12298
|
-
label:
|
|
12299
|
-
value:
|
|
12289
|
+
label: r(`${t}.fps`),
|
|
12290
|
+
value: e.fps == null ? null : String(e.fps)
|
|
12300
12291
|
},
|
|
12301
12292
|
{
|
|
12302
|
-
label:
|
|
12303
|
-
value: Gl(
|
|
12293
|
+
label: r(`${t}.resolution`),
|
|
12294
|
+
value: Gl(e)
|
|
12304
12295
|
},
|
|
12305
12296
|
{
|
|
12306
|
-
label:
|
|
12307
|
-
value:
|
|
12297
|
+
label: r(`${t}.codec`),
|
|
12298
|
+
value: e.codec
|
|
12308
12299
|
},
|
|
12309
12300
|
{
|
|
12310
|
-
label:
|
|
12311
|
-
value:
|
|
12301
|
+
label: r(`${t}.pixelFormat`),
|
|
12302
|
+
value: e.pixelFormat
|
|
12312
12303
|
},
|
|
12313
12304
|
{
|
|
12314
|
-
label:
|
|
12315
|
-
value:
|
|
12305
|
+
label: r(`${t}.channels`),
|
|
12306
|
+
value: e.channels == null ? null : String(e.channels)
|
|
12316
12307
|
},
|
|
12317
12308
|
{
|
|
12318
|
-
label:
|
|
12319
|
-
value:
|
|
12309
|
+
label: r(`${t}.hasAudio`),
|
|
12310
|
+
value: e.hasAudio == null ? null : e.hasAudio ? r(`${t}.yes`) : r(`${t}.no`)
|
|
12320
12311
|
},
|
|
12321
12312
|
{
|
|
12322
|
-
label:
|
|
12323
|
-
value: Kl(
|
|
12313
|
+
label: r(`${t}.clipRange`),
|
|
12314
|
+
value: Kl(e)
|
|
12324
12315
|
}
|
|
12325
12316
|
].filter((e) => e.value);
|
|
12326
|
-
return /* @__PURE__ */
|
|
12327
|
-
"
|
|
12328
|
-
|
|
12329
|
-
|
|
12330
|
-
|
|
12331
|
-
|
|
12332
|
-
}), /* @__PURE__ */ K("dl", {
|
|
12333
|
-
className: "flex min-w-0 items-center gap-2 overflow-hidden border-l border-white/15 pl-2",
|
|
12334
|
-
children: a.map((e) => /* @__PURE__ */ q("div", {
|
|
12335
|
-
className: F("flex shrink-0 items-baseline gap-1", e.breakAll && "min-w-0 shrink"),
|
|
12317
|
+
return i.length === 0 ? null : /* @__PURE__ */ K("div", {
|
|
12318
|
+
className: F("absolute left-2 top-2 z-10 max-h-[50%] max-w-[min(16rem,calc(100%-1rem))] overflow-y-auto rounded-md border border-white/10 bg-black/70 px-2.5 py-2 text-[11px] text-white opacity-0 shadow-lg backdrop-blur-sm transition-opacity duration-150 group-hover:opacity-100 group-focus-within:opacity-100", n),
|
|
12319
|
+
children: /* @__PURE__ */ K("dl", {
|
|
12320
|
+
className: "flex flex-col gap-1",
|
|
12321
|
+
children: i.map((e) => /* @__PURE__ */ q("div", {
|
|
12322
|
+
className: "grid grid-cols-[auto_1fr] items-baseline gap-x-3 gap-y-0",
|
|
12336
12323
|
children: [/* @__PURE__ */ K("dt", {
|
|
12337
|
-
className: "shrink-0 text-white/
|
|
12324
|
+
className: "shrink-0 text-white/55",
|
|
12338
12325
|
children: e.label
|
|
12339
12326
|
}), /* @__PURE__ */ K("dd", {
|
|
12340
|
-
className:
|
|
12327
|
+
className: "min-w-0 break-all text-right font-mono tabular-nums text-white/95",
|
|
12341
12328
|
children: e.value
|
|
12342
12329
|
})]
|
|
12343
12330
|
}, e.label))
|
|
12344
|
-
})
|
|
12331
|
+
})
|
|
12345
12332
|
});
|
|
12346
12333
|
}, Jl = ({ params: e }) => {
|
|
12347
12334
|
let { t } = te(), { info: n, dataLoader: r, imageService: i, subscribeFrameIndex: a } = se(), { selectedEpisodeIndex: o } = P(), s = W(() => e?.featureKey ? e.featureKey : M(n) || "observation.images.cam_high", [e?.featureKey, n]), [c, l] = Se(!1), [u, d] = Se(null), [f, p] = Se(!1), [m, h] = Se(null), g = G(null), _ = G(!0), v = G(o), y = G(s), b = G(r), x = G(i), S = G(n), C = G(0), w = G(!1), T = G(null), E = G(!1);
|
|
@@ -12437,7 +12424,6 @@ var ql = ({ featureKey: e, metadata: t, translationPrefix: n, className: r }) =>
|
|
|
12437
12424
|
className: "group relative flex h-full w-full items-center justify-center overflow-hidden bg-black",
|
|
12438
12425
|
children: [
|
|
12439
12426
|
/* @__PURE__ */ K(ql, {
|
|
12440
|
-
featureKey: s,
|
|
12441
12427
|
metadata: ee,
|
|
12442
12428
|
translationPrefix: "panels.image.debug"
|
|
12443
12429
|
}),
|
|
@@ -12612,7 +12598,6 @@ var ql = ({ featureKey: e, metadata: t, translationPrefix: n, className: r }) =>
|
|
|
12612
12598
|
className: "group relative flex h-full w-full items-center justify-center overflow-hidden bg-black",
|
|
12613
12599
|
children: [
|
|
12614
12600
|
/* @__PURE__ */ K(ql, {
|
|
12615
|
-
featureKey: E,
|
|
12616
12601
|
metadata: D,
|
|
12617
12602
|
translationPrefix: "panels.video.debug"
|
|
12618
12603
|
}),
|
|
@@ -14828,7 +14813,7 @@ eh.assign = gf, eh.fmtNum = Cd, eh.rangeNum = vd, eh.rangeLog = fd, eh.rangeAsin
|
|
|
14828
14813
|
}
|
|
14829
14814
|
//#endregion
|
|
14830
14815
|
//#region src/react/lib/chartTheme.ts
|
|
14831
|
-
var th = typeof document < "u" ? () => document.querySelector("
|
|
14816
|
+
var th = typeof document < "u" ? () => document.querySelector(".lerobot-root") ?? document.getElementById("lerobot-root") : () => null;
|
|
14832
14817
|
function nh(e, t, n = "#888") {
|
|
14833
14818
|
let r = e ?? (typeof document < "u" ? document.documentElement : null);
|
|
14834
14819
|
if (!r) return n;
|
|
@@ -16066,7 +16051,7 @@ var Ph = ({ params: e }) => {
|
|
|
16066
16051
|
]);
|
|
16067
16052
|
return /* @__PURE__ */ q("div", {
|
|
16068
16053
|
ref: f,
|
|
16069
|
-
className: "w-full h-full flex flex-col bg-background overflow-hidden",
|
|
16054
|
+
className: "w-full h-full flex flex-col bg-background text-foreground overflow-hidden",
|
|
16070
16055
|
children: [
|
|
16071
16056
|
/* @__PURE__ */ q("div", {
|
|
16072
16057
|
className: "flex items-center justify-between px-3 py-1.5 border-b bg-muted/20",
|
|
@@ -16087,9 +16072,9 @@ var Ph = ({ params: e }) => {
|
|
|
16087
16072
|
children: t("chart.split.open")
|
|
16088
16073
|
})]
|
|
16089
16074
|
})]
|
|
16090
|
-
}), /* @__PURE__ */
|
|
16075
|
+
}), /* @__PURE__ */ K("div", {
|
|
16091
16076
|
className: "flex gap-2 shrink-0 items-center",
|
|
16092
|
-
children:
|
|
16077
|
+
children: (_e || z) && /* @__PURE__ */ q(we, { children: [_e && /* @__PURE__ */ q("div", {
|
|
16093
16078
|
className: "group relative flex items-center gap-1.5 text-[10px] font-medium text-muted-foreground tracking-tight px-1.5 py-0.5 rounded hover:bg-muted/30 transition-colors cursor-pointer",
|
|
16094
16079
|
onClick: (e) => {
|
|
16095
16080
|
e.stopPropagation(), de(!ue);
|
|
@@ -16162,17 +16147,7 @@ var Ph = ({ params: e }) => {
|
|
|
16162
16147
|
children: t("chart.legend.stateAbbr")
|
|
16163
16148
|
})
|
|
16164
16149
|
]
|
|
16165
|
-
})] })
|
|
16166
|
-
className: "flex items-center ml-2",
|
|
16167
|
-
children: /* @__PURE__ */ K("span", {
|
|
16168
|
-
className: "text-[9px] font-mono text-muted-foreground/60 bg-muted/40 px-1.5 py-0.5 rounded border border-border/50",
|
|
16169
|
-
children: t("chart.sampling.enabled", {
|
|
16170
|
-
originalPoints: Ee.meta.originalPoints,
|
|
16171
|
-
displayedPoints: Ee.meta.displayedPoints,
|
|
16172
|
-
stride: Ee.meta.stride
|
|
16173
|
-
})
|
|
16174
|
-
})
|
|
16175
|
-
})]
|
|
16150
|
+
})] })
|
|
16176
16151
|
})]
|
|
16177
16152
|
}),
|
|
16178
16153
|
/* @__PURE__ */ q("div", {
|
|
@@ -16184,7 +16159,7 @@ var Ph = ({ params: e }) => {
|
|
|
16184
16159
|
className: "chart-uplot w-full h-full"
|
|
16185
16160
|
}), /* @__PURE__ */ K("div", {
|
|
16186
16161
|
ref: g,
|
|
16187
|
-
className: "chart-tooltip pointer-events-auto select-text cursor-text absolute left-3 top-3 z-20 hidden max-w-[420px] rounded-md border bg-background/95 backdrop-blur text-[11px] shadow-lg transition-opacity duration-150",
|
|
16162
|
+
className: "chart-tooltip pointer-events-auto select-text cursor-text absolute left-3 top-3 z-20 hidden max-w-[420px] rounded-md border bg-background/95 text-foreground backdrop-blur text-[11px] shadow-lg transition-opacity duration-150",
|
|
16188
16163
|
style: { opacity: 1 }
|
|
16189
16164
|
})]
|
|
16190
16165
|
}), !Ee && /* @__PURE__ */ K("div", {
|
|
@@ -16793,7 +16768,7 @@ var Xh = ({ params: e }) => {
|
|
|
16793
16768
|
p((n) => Fr(n ?? M, e, t));
|
|
16794
16769
|
}, [M]), ue = U((e) => _(e), []);
|
|
16795
16770
|
return /* @__PURE__ */ q("div", {
|
|
16796
|
-
className: "flex flex-col h-full bg-background overflow-hidden",
|
|
16771
|
+
className: "flex flex-col h-full bg-background text-foreground overflow-hidden",
|
|
16797
16772
|
children: [/* @__PURE__ */ K(Jh, {
|
|
16798
16773
|
isPaused: v,
|
|
16799
16774
|
copied: m,
|
|
@@ -16839,7 +16814,7 @@ var Xh = ({ params: e }) => {
|
|
|
16839
16814
|
function Zh({ error: e, panelName: t, onRetry: n }) {
|
|
16840
16815
|
let { t: i } = te();
|
|
16841
16816
|
return /* @__PURE__ */ q("div", {
|
|
16842
|
-
className: "flex flex-col items-center justify-center h-full w-full bg-background p-4 text-center",
|
|
16817
|
+
className: "flex flex-col items-center justify-center h-full w-full bg-background text-foreground p-4 text-center",
|
|
16843
16818
|
role: "alert",
|
|
16844
16819
|
children: [
|
|
16845
16820
|
/* @__PURE__ */ K("div", {
|
|
@@ -16850,7 +16825,7 @@ function Zh({ error: e, panelName: t, onRetry: n }) {
|
|
|
16850
16825
|
})
|
|
16851
16826
|
}),
|
|
16852
16827
|
/* @__PURE__ */ K("h3", {
|
|
16853
|
-
className: "text-sm font-semibold mb-1",
|
|
16828
|
+
className: "text-sm font-semibold mb-1 text-foreground",
|
|
16854
16829
|
children: t ? i("panelErrorBoundary.namedTitle", { panelName: t }) : i("panelErrorBoundary.title")
|
|
16855
16830
|
}),
|
|
16856
16831
|
/* @__PURE__ */ K("p", {
|
|
@@ -101,8 +101,10 @@
|
|
|
101
101
|
--color-amber-500: oklch(76.9% .188 70.08);
|
|
102
102
|
--color-amber-600: oklch(66.6% .179 58.318);
|
|
103
103
|
--color-amber-700: oklch(55.5% .163 48.998);
|
|
104
|
+
--color-green-400: oklch(79.2% .209 151.711);
|
|
104
105
|
--color-green-500: oklch(72.3% .219 149.579);
|
|
105
106
|
--color-green-600: oklch(62.7% .194 149.214);
|
|
107
|
+
--color-green-700: oklch(52.7% .154 150.069);
|
|
106
108
|
--color-emerald-400: oklch(76.5% .177 163.223);
|
|
107
109
|
--color-emerald-600: oklch(59.6% .145 163.225);
|
|
108
110
|
--color-sky-100: oklch(95.1% .026 236.824);
|
|
@@ -124,7 +126,6 @@
|
|
|
124
126
|
--container-lg: 32rem;
|
|
125
127
|
--container-xl: 36rem;
|
|
126
128
|
--container-2xl: 42rem;
|
|
127
|
-
--container-5xl: 64rem;
|
|
128
129
|
--container-6xl: 72rem;
|
|
129
130
|
--text-xs: .75rem;
|
|
130
131
|
--text-xs--line-height: calc(1 / .75);
|
|
@@ -1001,6 +1002,10 @@
|
|
|
1001
1002
|
max-height: 38vh;
|
|
1002
1003
|
}
|
|
1003
1004
|
|
|
1005
|
+
.lerobot-root .max-h-\[50\%\] {
|
|
1006
|
+
max-height: 50%;
|
|
1007
|
+
}
|
|
1008
|
+
|
|
1004
1009
|
.lerobot-root .max-h-\[60vh\] {
|
|
1005
1010
|
max-height: 60vh;
|
|
1006
1011
|
}
|
|
@@ -1117,6 +1122,10 @@
|
|
|
1117
1122
|
width: calc(var(--spacing) * 80);
|
|
1118
1123
|
}
|
|
1119
1124
|
|
|
1125
|
+
.lerobot-root .w-\[80vw\] {
|
|
1126
|
+
width: 80vw;
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1120
1129
|
.lerobot-root .w-\[640px\] {
|
|
1121
1130
|
width: 640px;
|
|
1122
1131
|
}
|
|
@@ -1133,22 +1142,22 @@
|
|
|
1133
1142
|
max-width: var(--container-2xl);
|
|
1134
1143
|
}
|
|
1135
1144
|
|
|
1136
|
-
.lerobot-root .max-w-5xl {
|
|
1137
|
-
max-width: var(--container-5xl);
|
|
1138
|
-
}
|
|
1139
|
-
|
|
1140
1145
|
.lerobot-root .max-w-6xl {
|
|
1141
1146
|
max-width: var(--container-6xl);
|
|
1142
1147
|
}
|
|
1143
1148
|
|
|
1144
|
-
.lerobot-root .max-w
|
|
1145
|
-
max-width:
|
|
1149
|
+
.lerobot-root .max-w-\[40vw\] {
|
|
1150
|
+
max-width: 40vw;
|
|
1146
1151
|
}
|
|
1147
1152
|
|
|
1148
1153
|
.lerobot-root .max-w-\[55\%\] {
|
|
1149
1154
|
max-width: 55%;
|
|
1150
1155
|
}
|
|
1151
1156
|
|
|
1157
|
+
.lerobot-root .max-w-\[80vw\] {
|
|
1158
|
+
max-width: 80vw;
|
|
1159
|
+
}
|
|
1160
|
+
|
|
1152
1161
|
.lerobot-root .max-w-\[90vw\] {
|
|
1153
1162
|
max-width: 90vw;
|
|
1154
1163
|
}
|
|
@@ -1173,14 +1182,14 @@
|
|
|
1173
1182
|
max-width: 420px;
|
|
1174
1183
|
}
|
|
1175
1184
|
|
|
1176
|
-
.lerobot-root .max-w-\[calc\(100\%-1rem\)\] {
|
|
1177
|
-
max-width: calc(100% - 1rem);
|
|
1178
|
-
}
|
|
1179
|
-
|
|
1180
1185
|
.lerobot-root .max-w-\[calc\(100\%-2rem\)\] {
|
|
1181
1186
|
max-width: calc(100% - 2rem);
|
|
1182
1187
|
}
|
|
1183
1188
|
|
|
1189
|
+
.lerobot-root .max-w-\[min\(16rem\,calc\(100\%-1rem\)\)\] {
|
|
1190
|
+
max-width: min(16rem, 100% - 1rem);
|
|
1191
|
+
}
|
|
1192
|
+
|
|
1184
1193
|
.lerobot-root .max-w-\[min\(100\%\,280px\)\] {
|
|
1185
1194
|
max-width: min(100%, 280px);
|
|
1186
1195
|
}
|
|
@@ -1358,6 +1367,10 @@
|
|
|
1358
1367
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
1359
1368
|
}
|
|
1360
1369
|
|
|
1370
|
+
.lerobot-root .grid-cols-\[auto_1fr\] {
|
|
1371
|
+
grid-template-columns: auto 1fr;
|
|
1372
|
+
}
|
|
1373
|
+
|
|
1361
1374
|
.lerobot-root .grid-rows-\[auto_auto\] {
|
|
1362
1375
|
grid-template-rows: auto auto;
|
|
1363
1376
|
}
|
|
@@ -1497,6 +1510,14 @@
|
|
|
1497
1510
|
margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
|
|
1498
1511
|
}
|
|
1499
1512
|
|
|
1513
|
+
.lerobot-root .gap-x-3 {
|
|
1514
|
+
column-gap: calc(var(--spacing) * 3);
|
|
1515
|
+
}
|
|
1516
|
+
|
|
1517
|
+
.lerobot-root .gap-y-0 {
|
|
1518
|
+
row-gap: 0;
|
|
1519
|
+
}
|
|
1520
|
+
|
|
1500
1521
|
.lerobot-root .self-center {
|
|
1501
1522
|
align-self: center;
|
|
1502
1523
|
}
|
|
@@ -1733,16 +1754,6 @@
|
|
|
1733
1754
|
}
|
|
1734
1755
|
}
|
|
1735
1756
|
|
|
1736
|
-
.lerobot-root .border-white\/15 {
|
|
1737
|
-
border-color: #ffffff26;
|
|
1738
|
-
}
|
|
1739
|
-
|
|
1740
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
1741
|
-
.lerobot-root .border-white\/15 {
|
|
1742
|
-
border-color: color-mix(in oklab, var(--color-white) 15%, transparent);
|
|
1743
|
-
}
|
|
1744
|
-
}
|
|
1745
|
-
|
|
1746
1757
|
.lerobot-root .border-t-transparent {
|
|
1747
1758
|
border-top-color: #0000;
|
|
1748
1759
|
}
|
|
@@ -1999,10 +2010,6 @@
|
|
|
1999
2010
|
background-color: #0000;
|
|
2000
2011
|
}
|
|
2001
2012
|
|
|
2002
|
-
.lerobot-root .bg-white {
|
|
2003
|
-
background-color: var(--color-white);
|
|
2004
|
-
}
|
|
2005
|
-
|
|
2006
2013
|
.lerobot-root .fill-current {
|
|
2007
2014
|
fill: currentColor;
|
|
2008
2015
|
}
|
|
@@ -2175,10 +2182,6 @@
|
|
|
2175
2182
|
padding-bottom: calc(var(--spacing) * 4);
|
|
2176
2183
|
}
|
|
2177
2184
|
|
|
2178
|
-
.lerobot-root .pl-2 {
|
|
2179
|
-
padding-left: calc(var(--spacing) * 2);
|
|
2180
|
-
}
|
|
2181
|
-
|
|
2182
2185
|
.lerobot-root .pl-4 {
|
|
2183
2186
|
padding-left: calc(var(--spacing) * 4);
|
|
2184
2187
|
}
|
|
@@ -2320,11 +2323,6 @@
|
|
|
2320
2323
|
font-weight: var(--font-weight-semibold);
|
|
2321
2324
|
}
|
|
2322
2325
|
|
|
2323
|
-
.lerobot-root .tracking-\[0\.12em\] {
|
|
2324
|
-
--tw-tracking: .12em;
|
|
2325
|
-
letter-spacing: .12em;
|
|
2326
|
-
}
|
|
2327
|
-
|
|
2328
2326
|
.lerobot-root .tracking-tight {
|
|
2329
2327
|
--tw-tracking: var(--tracking-tight);
|
|
2330
2328
|
letter-spacing: var(--tracking-tight);
|
|
@@ -2463,6 +2461,10 @@
|
|
|
2463
2461
|
color: var(--color-green-600);
|
|
2464
2462
|
}
|
|
2465
2463
|
|
|
2464
|
+
.lerobot-root .text-green-700 {
|
|
2465
|
+
color: var(--color-green-700);
|
|
2466
|
+
}
|
|
2467
|
+
|
|
2466
2468
|
.lerobot-root .text-muted-foreground, .lerobot-root .text-muted-foreground\/30 {
|
|
2467
2469
|
color: var(--muted-foreground);
|
|
2468
2470
|
}
|
|
@@ -2539,23 +2541,23 @@
|
|
|
2539
2541
|
color: var(--color-white);
|
|
2540
2542
|
}
|
|
2541
2543
|
|
|
2542
|
-
.lerobot-root .text-white\/
|
|
2543
|
-
color: #
|
|
2544
|
+
.lerobot-root .text-white\/55 {
|
|
2545
|
+
color: #ffffff8c;
|
|
2544
2546
|
}
|
|
2545
2547
|
|
|
2546
2548
|
@supports (color: color-mix(in lab, red, red)) {
|
|
2547
|
-
.lerobot-root .text-white\/
|
|
2548
|
-
color: color-mix(in oklab, var(--color-white)
|
|
2549
|
+
.lerobot-root .text-white\/55 {
|
|
2550
|
+
color: color-mix(in oklab, var(--color-white) 55%, transparent);
|
|
2549
2551
|
}
|
|
2550
2552
|
}
|
|
2551
2553
|
|
|
2552
|
-
.lerobot-root .text-white\/
|
|
2553
|
-
color: #
|
|
2554
|
+
.lerobot-root .text-white\/95 {
|
|
2555
|
+
color: #fffffff2;
|
|
2554
2556
|
}
|
|
2555
2557
|
|
|
2556
2558
|
@supports (color: color-mix(in lab, red, red)) {
|
|
2557
|
-
.lerobot-root .text-white\/
|
|
2558
|
-
color: color-mix(in oklab, var(--color-white)
|
|
2559
|
+
.lerobot-root .text-white\/95 {
|
|
2560
|
+
color: color-mix(in oklab, var(--color-white) 95%, transparent);
|
|
2559
2561
|
}
|
|
2560
2562
|
}
|
|
2561
2563
|
|
|
@@ -3218,7 +3220,7 @@
|
|
|
3218
3220
|
}
|
|
3219
3221
|
}
|
|
3220
3222
|
|
|
3221
|
-
.lerobot-root .focus-visible\:ring-ring\/50:focus-visible {
|
|
3223
|
+
.lerobot-root .focus-visible\:ring-ring:focus-visible, .lerobot-root .focus-visible\:ring-ring\/50:focus-visible {
|
|
3222
3224
|
--tw-ring-color: var(--ring);
|
|
3223
3225
|
}
|
|
3224
3226
|
|
|
@@ -3238,6 +3240,11 @@
|
|
|
3238
3240
|
}
|
|
3239
3241
|
}
|
|
3240
3242
|
|
|
3243
|
+
.lerobot-root .focus-visible\:ring-offset-2:focus-visible {
|
|
3244
|
+
--tw-ring-offset-width: 2px;
|
|
3245
|
+
--tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
3246
|
+
}
|
|
3247
|
+
|
|
3241
3248
|
.lerobot-root .focus-visible\:outline-hidden:focus-visible {
|
|
3242
3249
|
--tw-outline-style: none;
|
|
3243
3250
|
outline-style: none;
|
|
@@ -3562,6 +3569,10 @@
|
|
|
3562
3569
|
display: inline;
|
|
3563
3570
|
}
|
|
3564
3571
|
|
|
3572
|
+
.lerobot-root .sm\:max-w-\[80vw\] {
|
|
3573
|
+
max-width: 80vw;
|
|
3574
|
+
}
|
|
3575
|
+
|
|
3565
3576
|
.lerobot-root .sm\:max-w-\[90vw\] {
|
|
3566
3577
|
max-width: 90vw;
|
|
3567
3578
|
}
|
|
@@ -3704,6 +3715,10 @@
|
|
|
3704
3715
|
color: var(--color-emerald-400);
|
|
3705
3716
|
}
|
|
3706
3717
|
|
|
3718
|
+
.lerobot-root .dark\:text-green-400:is(.dark *) {
|
|
3719
|
+
color: var(--color-green-400);
|
|
3720
|
+
}
|
|
3721
|
+
|
|
3707
3722
|
.lerobot-root .dark\:text-green-500:is(.dark *) {
|
|
3708
3723
|
color: var(--color-green-500);
|
|
3709
3724
|
}
|
|
@@ -8151,8 +8166,8 @@
|
|
|
8151
8166
|
}
|
|
8152
8167
|
|
|
8153
8168
|
.lerobot-root .chart-uplot .u-select {
|
|
8154
|
-
background:
|
|
8155
|
-
border: 1px solid
|
|
8169
|
+
background: color-mix(in oklch, var(--primary) 8%, transparent);
|
|
8170
|
+
border: 1px solid color-mix(in oklch, var(--primary) 25%, transparent);
|
|
8156
8171
|
}
|
|
8157
8172
|
|
|
8158
8173
|
.lerobot-root .chart-uplot .uplot canvas {
|
|
@@ -8161,7 +8176,7 @@
|
|
|
8161
8176
|
|
|
8162
8177
|
.lerobot-root .chart-tooltip {
|
|
8163
8178
|
scrollbar-width: thin;
|
|
8164
|
-
scrollbar-color:
|
|
8179
|
+
scrollbar-color: color-mix(in oklch, var(--muted-foreground) 55%, transparent) transparent;
|
|
8165
8180
|
}
|
|
8166
8181
|
|
|
8167
8182
|
.lerobot-root .chart-tooltip::-webkit-scrollbar {
|
|
@@ -8173,10 +8188,10 @@
|
|
|
8173
8188
|
}
|
|
8174
8189
|
|
|
8175
8190
|
.lerobot-root .chart-tooltip::-webkit-scrollbar-thumb {
|
|
8176
|
-
background:
|
|
8191
|
+
background: color-mix(in oklch, var(--muted-foreground) 45%, transparent);
|
|
8177
8192
|
border-radius: 9999px;
|
|
8178
8193
|
}
|
|
8179
8194
|
|
|
8180
8195
|
.lerobot-root .chart-tooltip::-webkit-scrollbar-thumb:hover {
|
|
8181
|
-
background:
|
|
8196
|
+
background: color-mix(in oklch, var(--muted-foreground) 70%, transparent);
|
|
8182
8197
|
}
|
package/dist-lib/lerobot.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as e, B as t, C as n, D as r, E as i, F as a, G as o, H as s, K as c, M as l, N as u, O as d, P as f, S as p, T as m, U as h, V as g, W as _, _ as v, a as y, b, c as x, ft as S, g as C, gt as w, h as T, ht as E, i as D, j as O, k as ee, l as te, lt as ne, m as k, mt as A, n as re, o as j, p as ie, pt as M, r as ae, s as N, st as oe, t as se, v as ce, w as P, x as F, y as I } from "./react-window-
|
|
1
|
+
import { A as e, B as t, C as n, D as r, E as i, F as a, G as o, H as s, K as c, M as l, N as u, O as d, P as f, S as p, T as m, U as h, V as g, W as _, _ as v, a as y, b, c as x, ft as S, g as C, gt as w, h as T, ht as E, i as D, j as O, k as ee, l as te, lt as ne, m as k, mt as A, n as re, o as j, p as ie, pt as M, r as ae, s as N, st as oe, t as se, v as ce, w as P, x as F, y as I } from "./react-window-B1KnRC6j.js";
|
|
2
2
|
import { r as L, t as le } from "./workerManager-D6ovn2ln.js";
|
|
3
3
|
import * as ue from "react";
|
|
4
4
|
import R, { Suspense as de, createContext as fe, memo as pe, useCallback as z, useContext as me, useEffect as B, useMemo as V, useRef as H, useState as U } from "react";
|
|
@@ -3831,7 +3831,7 @@ function Js({ className: e, children: t, showCloseButton: n = !0, ...r }) {
|
|
|
3831
3831
|
"data-slot": "dialog-portal",
|
|
3832
3832
|
children: [/* @__PURE__ */ W(qs, {}), /* @__PURE__ */ G(s, {
|
|
3833
3833
|
"data-slot": "dialog-content",
|
|
3834
|
-
className: A("fixed top-[50vh] left-[50vw] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg", e),
|
|
3834
|
+
className: A("fixed top-[50vh] left-[50vw] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 text-foreground shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg", e),
|
|
3835
3835
|
...r,
|
|
3836
3836
|
children: [t, n && /* @__PURE__ */ G(g, {
|
|
3837
3837
|
"data-slot": "dialog-close",
|
|
@@ -3868,7 +3868,7 @@ function Xs({ className: e, showCloseButton: t = !1, children: n, ...r }) {
|
|
|
3868
3868
|
function Zs({ className: e, ...t }) {
|
|
3869
3869
|
return /* @__PURE__ */ W(c, {
|
|
3870
3870
|
"data-slot": "dialog-title",
|
|
3871
|
-
className: A("text-lg leading-none font-semibold", e),
|
|
3871
|
+
className: A("text-lg leading-none font-semibold text-foreground", e),
|
|
3872
3872
|
...t
|
|
3873
3873
|
});
|
|
3874
3874
|
}
|
|
@@ -5863,7 +5863,7 @@ var Dl = ({ theme: e, language: t, className: n, children: r, showToaster: i = !
|
|
|
5863
5863
|
forcedLanguage: t,
|
|
5864
5864
|
children: a ? /* @__PURE__ */ W("div", {
|
|
5865
5865
|
ref: s,
|
|
5866
|
-
className: A("lerobot-root h-full w-full relative", n),
|
|
5866
|
+
className: A("lerobot-root h-full w-full relative bg-background text-foreground", n),
|
|
5867
5867
|
children: /* @__PURE__ */ W(El, {
|
|
5868
5868
|
theme: e,
|
|
5869
5869
|
showToaster: i,
|
|
@@ -5872,7 +5872,7 @@ var Dl = ({ theme: e, language: t, className: n, children: r, showToaster: i = !
|
|
|
5872
5872
|
})
|
|
5873
5873
|
}) : /* @__PURE__ */ W("div", {
|
|
5874
5874
|
ref: s,
|
|
5875
|
-
className: A("lerobot-root h-full w-full", n),
|
|
5875
|
+
className: A("lerobot-root h-full w-full bg-background text-foreground", n),
|
|
5876
5876
|
children: /* @__PURE__ */ W(El, {
|
|
5877
5877
|
theme: e,
|
|
5878
5878
|
showToaster: i,
|
|
@@ -6559,7 +6559,7 @@ var Ll = ({ error: e, episodes: t, filteredEpisodes: n, isLoading: r, multiSelec
|
|
|
6559
6559
|
return window.addEventListener("resize", e), () => window.removeEventListener("resize", e);
|
|
6560
6560
|
}, [o, y]), /* @__PURE__ */ G(he, { children: [/* @__PURE__ */ W("div", {
|
|
6561
6561
|
ref: u,
|
|
6562
|
-
className: `flex h-full min-w-0 shrink-0 flex-col overflow-x-hidden border-r ${a}`,
|
|
6562
|
+
className: `flex h-full min-w-0 shrink-0 flex-col overflow-x-hidden border-r bg-background ${a}`,
|
|
6563
6563
|
style: {
|
|
6564
6564
|
width: `${o}px`,
|
|
6565
6565
|
minWidth: `${t}px`,
|
|
@@ -6824,7 +6824,7 @@ var Kl = () => {
|
|
|
6824
6824
|
className: "h-16 border-t bg-background/50 px-6 flex items-center justify-center text-muted-foreground italic text-sm",
|
|
6825
6825
|
children: e("playback.noData")
|
|
6826
6826
|
}) : g || b ? /* @__PURE__ */ G("div", {
|
|
6827
|
-
className: "h-16 border-t bg-background px-4 flex items-center gap-4 animate-pulse motion-reduce:animate-none pointer-events-none opacity-60",
|
|
6827
|
+
className: "h-16 border-t bg-background text-foreground px-4 flex items-center gap-4 animate-pulse motion-reduce:animate-none pointer-events-none opacity-60",
|
|
6828
6828
|
role: "status",
|
|
6829
6829
|
"aria-live": "polite",
|
|
6830
6830
|
"aria-label": b?.message || e("common.loading"),
|
|
@@ -6860,7 +6860,7 @@ var Kl = () => {
|
|
|
6860
6860
|
})
|
|
6861
6861
|
]
|
|
6862
6862
|
}) : /* @__PURE__ */ G("div", {
|
|
6863
|
-
className: "h-16 border-t bg-background px-4 flex items-center gap-4",
|
|
6863
|
+
className: "h-16 border-t bg-background text-foreground px-4 flex items-center gap-4",
|
|
6864
6864
|
children: [
|
|
6865
6865
|
/* @__PURE__ */ G("div", {
|
|
6866
6866
|
className: "flex items-center gap-1",
|
|
@@ -7026,7 +7026,7 @@ var Kl = () => {
|
|
|
7026
7026
|
})
|
|
7027
7027
|
]
|
|
7028
7028
|
});
|
|
7029
|
-
}, Jl = R.lazy(async () => ({ default: (await import("./DockviewLayout-
|
|
7029
|
+
}, Jl = R.lazy(async () => ({ default: (await import("./DockviewLayout-DjLrI3Yt.js")).DockviewLayout }));
|
|
7030
7030
|
function Yl({ showSidebar: e = !0, showPlaybackBar: t = !0, className: n, sidebar: r, emptyState: i, sidebarHeader: a, showToaster: o = !0, onRetry: s }) {
|
|
7031
7031
|
let { t: c } = E(), { episodes: l, info: u, clearError: d, error: f } = N(), { tasks: p } = ol(), m = u !== null && l.length > 0, h = m && e && !!r, g = p.find((e) => e.phase !== "ready" && e.phase !== "idle" && e.phase !== "error"), _ = p.find((e) => e.phase === "error"), v = s ?? (() => {
|
|
7032
7032
|
d();
|
|
@@ -3047,6 +3047,9 @@ var hn = {
|
|
|
3047
3047
|
errorsCount: "{{count}} 个错误",
|
|
3048
3048
|
warningsCount: "{{count}} 个警告",
|
|
3049
3049
|
passedCount: "{{count}} 项通过",
|
|
3050
|
+
filterErrors: "仅显示 {{count}} 个错误",
|
|
3051
|
+
filterWarnings: "仅显示 {{count}} 个警告",
|
|
3052
|
+
filterPassed: "仅显示 {{count}} 项通过检查",
|
|
3050
3053
|
close: "关闭",
|
|
3051
3054
|
retry: "重试",
|
|
3052
3055
|
export: "导出",
|
|
@@ -3399,10 +3402,6 @@ var hn = {
|
|
|
3399
3402
|
title: "视频面板",
|
|
3400
3403
|
placeholder: "等待加载视频文件...",
|
|
3401
3404
|
debug: {
|
|
3402
|
-
title: "媒体调试信息",
|
|
3403
|
-
feature: "Feature",
|
|
3404
|
-
dtype: "类型",
|
|
3405
|
-
shape: "Shape",
|
|
3406
3405
|
fps: "FPS",
|
|
3407
3406
|
resolution: "分辨率",
|
|
3408
3407
|
codec: "编码",
|
|
@@ -3418,10 +3417,6 @@ var hn = {
|
|
|
3418
3417
|
title: "图像面板",
|
|
3419
3418
|
placeholder: "等待加载图像文件...",
|
|
3420
3419
|
debug: {
|
|
3421
|
-
title: "媒体调试信息",
|
|
3422
|
-
feature: "Feature",
|
|
3423
|
-
dtype: "类型",
|
|
3424
|
-
shape: "Shape",
|
|
3425
3420
|
fps: "FPS",
|
|
3426
3421
|
resolution: "分辨率",
|
|
3427
3422
|
codec: "编码",
|
|
@@ -3783,6 +3778,9 @@ var hn = {
|
|
|
3783
3778
|
errorsCount: "{{count}} error(s)",
|
|
3784
3779
|
warningsCount: "{{count}} warning(s)",
|
|
3785
3780
|
passedCount: "{{count}} passed",
|
|
3781
|
+
filterErrors: "Show only {{count}} error(s)",
|
|
3782
|
+
filterWarnings: "Show only {{count}} warning(s)",
|
|
3783
|
+
filterPassed: "Show only {{count}} passed check(s)",
|
|
3786
3784
|
close: "Close",
|
|
3787
3785
|
retry: "Retry",
|
|
3788
3786
|
export: "Export",
|
|
@@ -4135,10 +4133,6 @@ var hn = {
|
|
|
4135
4133
|
title: "Video Panel",
|
|
4136
4134
|
placeholder: "Waiting for video file...",
|
|
4137
4135
|
debug: {
|
|
4138
|
-
title: "Media debug",
|
|
4139
|
-
feature: "Feature",
|
|
4140
|
-
dtype: "DType",
|
|
4141
|
-
shape: "Shape",
|
|
4142
4136
|
fps: "FPS",
|
|
4143
4137
|
resolution: "Resolution",
|
|
4144
4138
|
codec: "Codec",
|
|
@@ -4154,10 +4148,6 @@ var hn = {
|
|
|
4154
4148
|
title: "Image Panel",
|
|
4155
4149
|
placeholder: "Waiting for image file...",
|
|
4156
4150
|
debug: {
|
|
4157
|
-
title: "Media debug",
|
|
4158
|
-
feature: "Feature",
|
|
4159
|
-
dtype: "DType",
|
|
4160
|
-
shape: "Shape",
|
|
4161
4151
|
fps: "FPS",
|
|
4162
4152
|
resolution: "Resolution",
|
|
4163
4153
|
codec: "Codec",
|
|
@@ -4491,7 +4481,7 @@ var hn = {
|
|
|
4491
4481
|
},
|
|
4492
4482
|
speed: "再生速度"
|
|
4493
4483
|
},
|
|
4494
|
-
health: /* @__PURE__ */ JSON.parse("{\"noData\":\"データセットを読み込むとヘルスチェックを表示します\",\"statusErrors\":\"検証でエラーを検出\",\"statusWarnings\":\"検証で警告を検出\",\"statusOk\":\"フォーマットチェック完了\",\"checks\":\"チェック項目\",\"noIssues\":\"問題はありません\",\"fpsInvalid\":\"info.fps が未設定または ≤ 0 です。再生が不正になる可能性があります。\",\"zeroLengthEpisodes\":\"{{count}} 件のエピソードの長さが 0 です\",\"episodeCountMismatch\":\"有効エピソード数({{effective}})が info.total_episodes({{total}})と一致しません。編集/削除を反映しました。\",\"footnote\":\"フォーマット検証は読み込み時に実行されます。データ品質(NaN/外れ値)は今後のバージョンで対応予定です。\",\"healthCheckButton\":\"データセットヘルスチェック\",\"check\":\"チェック\",\"validation\":{\"columns\":{\"field\":\"チェック項目\",\"current\":\"現在\",\"expected\":\"期待値\",\"suggestion\":\"推奨対応\"},\"dialog\":{\"title\":\"データセット品質レポート\",\"summaryErrors\":\"検証でエラーを検出\",\"summaryWarnings\":\"検証で警告を検出\",\"summaryOk\":\"すべてのチェックを通過\",\"errorsCount\":\"エラー {{count}} 件\",\"warningsCount\":\"警告 {{count}} 件\",\"passedCount\":\"{{count}} 件通過\",\"close\":\"閉じる\",\"retry\":\"再試行\",\"export\":\"エクスポート\",\"exportCsv\":\"CSV でエクスポート\",\"exportPdf\":\"PDF でエクスポート\"},\"categories\":{\"file_structure\":\"ファイル構造\",\"meta_info\":\"メタデータ\",\"features\":\"特徴量\",\"episodes\":\"エピソード\"},\"terms\":{\"exists\":\"存在する\",\"missing\":\"欠損\",\"notExists\":\"見つかりません\",\"invalidJson\":\"無効な JSON\",\"validJson\":\"有効な JSON ファイル\",\"positiveInteger\":\"正の整数\",\"nonNegativeInteger\":\"0 以上の整数\",\"positiveNumber\":\"正の数\",\"nonEmptyString\":\"空でない文字列\",\"present\":\"存在\",\"unknown\":\"不明\",\"validDtype\":\"有効な dtype\",\"object\":\"オブジェクト\",\"arrayOrNull\":\"配列または null\",\"nFeatures\":\"{{count}} 特徴量\",\"pathOrFileExists\":\"パスまたはファイルが存在\",\"fieldExists\":\"フィールドが存在\",\"positiveIntArray\":\"[正の整数, ...]\",\"stringArrayMatchShape\":\"string[](長さ = shape の最終次元)\",\"objectWithFeatures\":\"1 つ以上の feature を持つオブジェクト\",\"positiveIntMatchTotalEpisodes\":\"正の整数、total_episodes と一致\",\"episodeLengthPositive\":\"各エピソードの length > 0\",\"nonNegativeIntCount\":\"0 以上の整数(件数)\",\"requiredParquetColumns\":\"frame_index, episode_index, index, timestamp など\",\"objectWithTrainKey\":\"\\\"train\\\" キーを持つオブジェクト\",\"containsTrain\":\"\\\"train\\\" を含む\",\"requiredEpisodesColumns\":\"episode_index, length, dataset_from_index, dataset_to_index\",\"tasksPresent\":\"tasks.jsonl または tasks.parquet が存在\"},\"codes\":{\"INFO_MISSING\":{\"message\":\"meta/info.json が存在しないか読み取れません\",\"suggestion\":\"LeRobot データセットルートに meta/info.json があることを確認してください\"},\"INFO_PARSE_ERROR\":{\"message\":\"meta/info.json の JSON 解析に失敗しました\",\"suggestion\":\"JSON 構文を確認してください(例: https://jsonlint.com)\"},\"VERSION_MISMATCH\":{\"message\":\"codebase_version が v2.x ではありません\",\"suggestion\":\"v3.0 の場合は対応ローダーを使用するか、codebase_version を v2.0 または v2.1 に設定してください\"},\"VERSION_MISMATCH_V3\":{\"message\":\"codebase_version が v3.x ではありません\",\"suggestion\":\"codebase_version を v3.0 に設定してください\"},\"ROBOT_TYPE_MISSING\":{\"message\":\"robot_type が未設定または空です\",\"suggestion\":\"ロボットタイプを設定してください(例: \\\"so100\\\", \\\"lekiwi\\\")\"},\"TOTAL_EPISODES_INVALID\":{\"message\":\"total_episodes は正の整数である必要があります\",\"suggestion\":\"正しいエピソード総数を設定してください\"},\"TOTAL_FRAMES_INVALID\":{\"message\":\"total_frames は正の整数である必要があります\",\"suggestion\":\"正しいフレーム総数を設定してください\"},\"TOTAL_TASKS_INVALID\":{\"message\":\"total_tasks は 0 以上の整数である必要があります\",\"suggestion\":\"正しいタスク総数を設定してください(0 可)\"},\"FPS_INVALID\":{\"message\":\"fps は正の数である必要があります\",\"suggestion\":\"正しい FPS を設定してください(例: 30)\"},\"CHUNKS_SIZE_MISSING\":{\"message\":\"chunks_size が未設定です。デフォルト 1000 を使用します\",\"suggestion\":\"chunks_size フィールドを追加してください(推奨: 1000)\"},\"FEATURES_EMPTY\":{\"message\":\"features が未設定または空です\",\"suggestion\":\"info.json の features にデータセットの全カラムを定義してください\"},\"EPISODES_MISSING\":{\"message\":\"meta/episodes.jsonl が存在しないか読み取れません\",\"suggestion\":\"1 行 1 エピソードの JSON で meta/episodes.jsonl を作成してください\"},\"EPISODES_INVALID_JSONL\":{\"message\":\"episodes.jsonl の行の JSON 解析に失敗しました\",\"suggestion\":\"各行が有効な JSON オブジェクトであることを確認してください\"},\"EPISODES_EMPTY\":{\"message\":\"episodes.jsonl は空です\",\"suggestion\":\"episodes.jsonl にデータがあることを確認してください\"},\"EPISODES_COUNT_MISMATCH\":{\"message\":\"解析したエピソード数({{parsed}})が total_episodes({{expected}})と一致しません\",\"suggestion\":\"episodes.jsonl を再生成するか info.json の total_episodes を修正してください\"},\"ZERO_LENGTH_EPISODES\":{\"message\":\"{{count}} 件のエピソードの長さが 0 です\",\"suggestion\":\"各エピソードが正のフレーム数を持つよう episodes.jsonl を再生成してください\"},\"EPISODES_NO_LENGTH\":{\"message\":\"{{count}} 件のエピソードに length/num_frames がありません\",\"suggestion\":\"episodes.jsonl の各行に \\\"length\\\" を追加してください\"},\"TASKS_MISSING\":{\"message\":\"meta/tasks.jsonl が存在しないか空です\",\"suggestion\":\"1 行 1 JSON で tasks.jsonl を作成: {\\\"task_index\\\": 0, \\\"task\\\": \\\"説明\\\"}\"},\"DATA_FILE_MISSING\":{\"message\":\"データファイルが存在しません\",\"suggestion\":\"v2 形式で data/ に Parquet ファイルを生成してください\"},\"DATA_FILE_CHECK_FAILED\":{\"message\":\"データファイルの存在を確認できませんでした\",\"suggestion\":\"data/chunk-xxx/episode_xxxxxx.parquet が存在することを確認してください\"},\"VIDEO_FILE_MISSING\":{\"message\":\"動画ファイルが存在しません\",\"suggestion\":\"videos/chunk-xxx/<key>/episode_xxxxxx.mp4 を生成してください\"},\"VIDEO_FILE_CHECK_FAILED\":{\"message\":\"動画ファイルの存在を確認できませんでした\",\"suggestion\":\"videos/chunk-xxx/<key>/episode_xxxxxx.mp4 が存在することを確認してください\"},\"PARQUET_MISSING_COLS\":{\"message\":\"データ Parquet に必須カラムがありません: {{cols}}\",\"suggestion\":\"システムカラムを含むデータ Parquet を再生成してください\"},\"DEFAULT_FEATURE_MISSING\":{\"message\":\"システムフィールド {{key}} がありません\",\"suggestion\":\"meta/info.json の features に \\\"{{key}}\\\" を追加してください\"},\"FEATURE_INVALID\":{\"message\":\"features.{{key}} は有効なオブジェクトではありません\",\"suggestion\":\"各 feature が dtype と shape を持つオブジェクトであることを確認してください\"},\"DTYPE_MISSING\":{\"message\":\"features.{{key}}.dtype がありません\",\"suggestion\":\"dtype を追加してください(例: float32, int64, video, image, string)\"},\"DTYPE_INVALID\":{\"message\":\"features.{{key}}.dtype が無効です: {{dtype}}\",\"suggestion\":\"標準の dtype を使用してください\"},\"SHAPE_INVALID\":{\"message\":\"features.{{key}}.shape は正の整数の非空配列である必要があります\",\"suggestion\":\"shape を設定してください(例: [7], [3, 480, 640])\"},\"NAMES_INVALID\":{\"message\":\"features.{{key}}.names は配列ではありません\",\"suggestion\":\"names を文字列配列または null に設定してください\"},\"NAMES_LENGTH_MISMATCH\":{\"message\":\"features.{{key}}.names の長さ({{actual}})が shape の最終次元({{expected}})と一致しません\",\"suggestion\":\"names の長さを shape の最終次元と一致させてください\"},\"VIDEO_FPS_MISSING\":{\"message\":\"動画 feature {{key}} の fps が未設定または ≤0 です。info.fps を使用します\",\"suggestion\":\"オプション: この feature に fps を設定。未設定の場合は info.fps を使用\"},\"VIDEO_SHAPE_CHANNELS\":{\"message\":\"動画の shape チャンネル数が一般的ではありません\",\"suggestion\":\"通常は 3(RGB)です。[C,H,W] と [H,W,C] の両方に対応\"},\"VIDEO_SHAPE_NDIM\":{\"message\":\"動画 shape は 3D (C, H, W) である必要があります。現在 {{n}}D です\",\"suggestion\":\"shape を [C, H, W] に設定してください\"},\"IMAGE_SHAPE_NDIM\":{\"message\":\"画像 shape は 3D (C, H, W) である必要があります。現在 {{n}}D です\",\"suggestion\":\"shape を [C, H, W] に設定してください\"},\"EPISODES_PARQUET_MISSING\":{\"message\":\"meta/episodes の最初のファイルが存在しません\",\"suggestion\":\"v3 形式で meta/episodes/chunk-xxx/file-xxx.parquet を生成してください\"},\"EPISODES_PARQUET_INVALID\":{\"message\":\"meta/episodes の最初のファイルを Parquet として解析できませんでした\",\"suggestion\":\"episodes Parquet ファイルが有効であることを確認してください\"},\"DATA_PATH_TEMPLATE\":{\"message\":\"info.data_path がデフォルトテンプレートと一致しません\",\"suggestion\":\"デフォルトの data パステンプレートを使用するか、カスタムパスを一貫させてください\"},\"VIDEO_PATH_TEMPLATE\":{\"message\":\"info.video_path がデフォルトテンプレートと一致しません\",\"suggestion\":\"デフォルトの動画パステンプレートを使用してください\"},\"TASKS_PRESENT\":{\"message\":\"タスクメタデータを検出しました\",\"suggestion\":\"\"},\"EPISODE_COUNT\":{\"message\":\"{{count}} 件のエピソードを解析しました\",\"suggestion\":\"\"},\"TASK_COUNT\":{\"message\":\"{{count}} 件のタスクを解析しました\",\"suggestion\":\"\"},\"SPLITS_MISSING_TRAIN\":{\"message\":\"splits に \\\"train\\\" が必要です\",\"suggestion\":\"splits に少なくとも \\\"train\\\" キーを追加してください\"}}}}"),
|
|
4484
|
+
health: /* @__PURE__ */ JSON.parse("{\"noData\":\"データセットを読み込むとヘルスチェックを表示します\",\"statusErrors\":\"検証でエラーを検出\",\"statusWarnings\":\"検証で警告を検出\",\"statusOk\":\"フォーマットチェック完了\",\"checks\":\"チェック項目\",\"noIssues\":\"問題はありません\",\"fpsInvalid\":\"info.fps が未設定または ≤ 0 です。再生が不正になる可能性があります。\",\"zeroLengthEpisodes\":\"{{count}} 件のエピソードの長さが 0 です\",\"episodeCountMismatch\":\"有効エピソード数({{effective}})が info.total_episodes({{total}})と一致しません。編集/削除を反映しました。\",\"footnote\":\"フォーマット検証は読み込み時に実行されます。データ品質(NaN/外れ値)は今後のバージョンで対応予定です。\",\"healthCheckButton\":\"データセットヘルスチェック\",\"check\":\"チェック\",\"validation\":{\"columns\":{\"field\":\"チェック項目\",\"current\":\"現在\",\"expected\":\"期待値\",\"suggestion\":\"推奨対応\"},\"dialog\":{\"title\":\"データセット品質レポート\",\"summaryErrors\":\"検証でエラーを検出\",\"summaryWarnings\":\"検証で警告を検出\",\"summaryOk\":\"すべてのチェックを通過\",\"errorsCount\":\"エラー {{count}} 件\",\"warningsCount\":\"警告 {{count}} 件\",\"passedCount\":\"{{count}} 件通過\",\"filterErrors\":\"エラー {{count}} 件のみを表示\",\"filterWarnings\":\"警告 {{count}} 件のみを表示\",\"filterPassed\":\"通過した {{count}} 件のみを表示\",\"close\":\"閉じる\",\"retry\":\"再試行\",\"export\":\"エクスポート\",\"exportCsv\":\"CSV でエクスポート\",\"exportPdf\":\"PDF でエクスポート\"},\"categories\":{\"file_structure\":\"ファイル構造\",\"meta_info\":\"メタデータ\",\"features\":\"特徴量\",\"episodes\":\"エピソード\"},\"terms\":{\"exists\":\"存在する\",\"missing\":\"欠損\",\"notExists\":\"見つかりません\",\"invalidJson\":\"無効な JSON\",\"validJson\":\"有効な JSON ファイル\",\"positiveInteger\":\"正の整数\",\"nonNegativeInteger\":\"0 以上の整数\",\"positiveNumber\":\"正の数\",\"nonEmptyString\":\"空でない文字列\",\"present\":\"存在\",\"unknown\":\"不明\",\"validDtype\":\"有効な dtype\",\"object\":\"オブジェクト\",\"arrayOrNull\":\"配列または null\",\"nFeatures\":\"{{count}} 特徴量\",\"pathOrFileExists\":\"パスまたはファイルが存在\",\"fieldExists\":\"フィールドが存在\",\"positiveIntArray\":\"[正の整数, ...]\",\"stringArrayMatchShape\":\"string[](長さ = shape の最終次元)\",\"objectWithFeatures\":\"1 つ以上の feature を持つオブジェクト\",\"positiveIntMatchTotalEpisodes\":\"正の整数、total_episodes と一致\",\"episodeLengthPositive\":\"各エピソードの length > 0\",\"nonNegativeIntCount\":\"0 以上の整数(件数)\",\"requiredParquetColumns\":\"frame_index, episode_index, index, timestamp など\",\"objectWithTrainKey\":\"\\\"train\\\" キーを持つオブジェクト\",\"containsTrain\":\"\\\"train\\\" を含む\",\"requiredEpisodesColumns\":\"episode_index, length, dataset_from_index, dataset_to_index\",\"tasksPresent\":\"tasks.jsonl または tasks.parquet が存在\"},\"codes\":{\"INFO_MISSING\":{\"message\":\"meta/info.json が存在しないか読み取れません\",\"suggestion\":\"LeRobot データセットルートに meta/info.json があることを確認してください\"},\"INFO_PARSE_ERROR\":{\"message\":\"meta/info.json の JSON 解析に失敗しました\",\"suggestion\":\"JSON 構文を確認してください(例: https://jsonlint.com)\"},\"VERSION_MISMATCH\":{\"message\":\"codebase_version が v2.x ではありません\",\"suggestion\":\"v3.0 の場合は対応ローダーを使用するか、codebase_version を v2.0 または v2.1 に設定してください\"},\"VERSION_MISMATCH_V3\":{\"message\":\"codebase_version が v3.x ではありません\",\"suggestion\":\"codebase_version を v3.0 に設定してください\"},\"ROBOT_TYPE_MISSING\":{\"message\":\"robot_type が未設定または空です\",\"suggestion\":\"ロボットタイプを設定してください(例: \\\"so100\\\", \\\"lekiwi\\\")\"},\"TOTAL_EPISODES_INVALID\":{\"message\":\"total_episodes は正の整数である必要があります\",\"suggestion\":\"正しいエピソード総数を設定してください\"},\"TOTAL_FRAMES_INVALID\":{\"message\":\"total_frames は正の整数である必要があります\",\"suggestion\":\"正しいフレーム総数を設定してください\"},\"TOTAL_TASKS_INVALID\":{\"message\":\"total_tasks は 0 以上の整数である必要があります\",\"suggestion\":\"正しいタスク総数を設定してください(0 可)\"},\"FPS_INVALID\":{\"message\":\"fps は正の数である必要があります\",\"suggestion\":\"正しい FPS を設定してください(例: 30)\"},\"CHUNKS_SIZE_MISSING\":{\"message\":\"chunks_size が未設定です。デフォルト 1000 を使用します\",\"suggestion\":\"chunks_size フィールドを追加してください(推奨: 1000)\"},\"FEATURES_EMPTY\":{\"message\":\"features が未設定または空です\",\"suggestion\":\"info.json の features にデータセットの全カラムを定義してください\"},\"EPISODES_MISSING\":{\"message\":\"meta/episodes.jsonl が存在しないか読み取れません\",\"suggestion\":\"1 行 1 エピソードの JSON で meta/episodes.jsonl を作成してください\"},\"EPISODES_INVALID_JSONL\":{\"message\":\"episodes.jsonl の行の JSON 解析に失敗しました\",\"suggestion\":\"各行が有効な JSON オブジェクトであることを確認してください\"},\"EPISODES_EMPTY\":{\"message\":\"episodes.jsonl は空です\",\"suggestion\":\"episodes.jsonl にデータがあることを確認してください\"},\"EPISODES_COUNT_MISMATCH\":{\"message\":\"解析したエピソード数({{parsed}})が total_episodes({{expected}})と一致しません\",\"suggestion\":\"episodes.jsonl を再生成するか info.json の total_episodes を修正してください\"},\"ZERO_LENGTH_EPISODES\":{\"message\":\"{{count}} 件のエピソードの長さが 0 です\",\"suggestion\":\"各エピソードが正のフレーム数を持つよう episodes.jsonl を再生成してください\"},\"EPISODES_NO_LENGTH\":{\"message\":\"{{count}} 件のエピソードに length/num_frames がありません\",\"suggestion\":\"episodes.jsonl の各行に \\\"length\\\" を追加してください\"},\"TASKS_MISSING\":{\"message\":\"meta/tasks.jsonl が存在しないか空です\",\"suggestion\":\"1 行 1 JSON で tasks.jsonl を作成: {\\\"task_index\\\": 0, \\\"task\\\": \\\"説明\\\"}\"},\"DATA_FILE_MISSING\":{\"message\":\"データファイルが存在しません\",\"suggestion\":\"v2 形式で data/ に Parquet ファイルを生成してください\"},\"DATA_FILE_CHECK_FAILED\":{\"message\":\"データファイルの存在を確認できませんでした\",\"suggestion\":\"data/chunk-xxx/episode_xxxxxx.parquet が存在することを確認してください\"},\"VIDEO_FILE_MISSING\":{\"message\":\"動画ファイルが存在しません\",\"suggestion\":\"videos/chunk-xxx/<key>/episode_xxxxxx.mp4 を生成してください\"},\"VIDEO_FILE_CHECK_FAILED\":{\"message\":\"動画ファイルの存在を確認できませんでした\",\"suggestion\":\"videos/chunk-xxx/<key>/episode_xxxxxx.mp4 が存在することを確認してください\"},\"PARQUET_MISSING_COLS\":{\"message\":\"データ Parquet に必須カラムがありません: {{cols}}\",\"suggestion\":\"システムカラムを含むデータ Parquet を再生成してください\"},\"DEFAULT_FEATURE_MISSING\":{\"message\":\"システムフィールド {{key}} がありません\",\"suggestion\":\"meta/info.json の features に \\\"{{key}}\\\" を追加してください\"},\"FEATURE_INVALID\":{\"message\":\"features.{{key}} は有効なオブジェクトではありません\",\"suggestion\":\"各 feature が dtype と shape を持つオブジェクトであることを確認してください\"},\"DTYPE_MISSING\":{\"message\":\"features.{{key}}.dtype がありません\",\"suggestion\":\"dtype を追加してください(例: float32, int64, video, image, string)\"},\"DTYPE_INVALID\":{\"message\":\"features.{{key}}.dtype が無効です: {{dtype}}\",\"suggestion\":\"標準の dtype を使用してください\"},\"SHAPE_INVALID\":{\"message\":\"features.{{key}}.shape は正の整数の非空配列である必要があります\",\"suggestion\":\"shape を設定してください(例: [7], [3, 480, 640])\"},\"NAMES_INVALID\":{\"message\":\"features.{{key}}.names は配列ではありません\",\"suggestion\":\"names を文字列配列または null に設定してください\"},\"NAMES_LENGTH_MISMATCH\":{\"message\":\"features.{{key}}.names の長さ({{actual}})が shape の最終次元({{expected}})と一致しません\",\"suggestion\":\"names の長さを shape の最終次元と一致させてください\"},\"VIDEO_FPS_MISSING\":{\"message\":\"動画 feature {{key}} の fps が未設定または ≤0 です。info.fps を使用します\",\"suggestion\":\"オプション: この feature に fps を設定。未設定の場合は info.fps を使用\"},\"VIDEO_SHAPE_CHANNELS\":{\"message\":\"動画の shape チャンネル数が一般的ではありません\",\"suggestion\":\"通常は 3(RGB)です。[C,H,W] と [H,W,C] の両方に対応\"},\"VIDEO_SHAPE_NDIM\":{\"message\":\"動画 shape は 3D (C, H, W) である必要があります。現在 {{n}}D です\",\"suggestion\":\"shape を [C, H, W] に設定してください\"},\"IMAGE_SHAPE_NDIM\":{\"message\":\"画像 shape は 3D (C, H, W) である必要があります。現在 {{n}}D です\",\"suggestion\":\"shape を [C, H, W] に設定してください\"},\"EPISODES_PARQUET_MISSING\":{\"message\":\"meta/episodes の最初のファイルが存在しません\",\"suggestion\":\"v3 形式で meta/episodes/chunk-xxx/file-xxx.parquet を生成してください\"},\"EPISODES_PARQUET_INVALID\":{\"message\":\"meta/episodes の最初のファイルを Parquet として解析できませんでした\",\"suggestion\":\"episodes Parquet ファイルが有効であることを確認してください\"},\"DATA_PATH_TEMPLATE\":{\"message\":\"info.data_path がデフォルトテンプレートと一致しません\",\"suggestion\":\"デフォルトの data パステンプレートを使用するか、カスタムパスを一貫させてください\"},\"VIDEO_PATH_TEMPLATE\":{\"message\":\"info.video_path がデフォルトテンプレートと一致しません\",\"suggestion\":\"デフォルトの動画パステンプレートを使用してください\"},\"TASKS_PRESENT\":{\"message\":\"タスクメタデータを検出しました\",\"suggestion\":\"\"},\"EPISODE_COUNT\":{\"message\":\"{{count}} 件のエピソードを解析しました\",\"suggestion\":\"\"},\"TASK_COUNT\":{\"message\":\"{{count}} 件のタスクを解析しました\",\"suggestion\":\"\"},\"SPLITS_MISSING_TRAIN\":{\"message\":\"splits に \\\"train\\\" が必要です\",\"suggestion\":\"splits に少なくとも \\\"train\\\" キーを追加してください\"}}}}"),
|
|
4495
4485
|
summary: {
|
|
4496
4486
|
noData: "データセットを読み込むと概要を表示します",
|
|
4497
4487
|
overview: "概要",
|
|
@@ -6742,7 +6732,7 @@ function fi({ container: e, children: t }) {
|
|
|
6742
6732
|
});
|
|
6743
6733
|
}
|
|
6744
6734
|
function pi() {
|
|
6745
|
-
return r.useContext(di) || (typeof document > "u" ? null : document.getElementById("lerobot-root"));
|
|
6735
|
+
return r.useContext(di) || (typeof document > "u" ? null : document.querySelector(".lerobot-root") ?? document.getElementById("lerobot-root"));
|
|
6746
6736
|
}
|
|
6747
6737
|
//#endregion
|
|
6748
6738
|
//#region node_modules/@radix-ui/react-compose-refs/dist/index.mjs
|